WPF ScrollViewer um DataGrid betrifft Spaltenbreite

Ich habe ein problem mit einem ScrollViewer, dass ich verwenden, um zu Blättern, ein Benutzer-Steuerelement, enthält ein Daten-grid. Ohne die scroll-viewer werden die Spalten füllen das Daten-grid, wie ich will, aber beim hinzufügen eines scroll-viewer werden die Spalten verkleinert, um ~15px. Ich war in der Lage zu vereinfachen, mein layout und immer noch reproduzieren können dieses Verhalten.

Wenn die Bindung des datagrid-Breite auf ein anderes Steuerelement werden die Spalten haben, die Ihre normale, aber das hat unsuprisingly die gleiche Wirkung wie eine Feste Breite in der datagrid-Komponente.
Ich denke, ich bin nicht der erste, der dieses problem hat. Wie kann ich arbeiten, um dieses Verhalten zu haben, mein raster Anpassung der Größe an den verfügbaren Platz und geben Sie die Spalten eine proportionale Breite?

Mit scrollviewer:
WPF ScrollViewer um DataGrid betrifft Spaltenbreite
und ohne:
WPF ScrollViewer um DataGrid betrifft Spaltenbreite

<Window x:Class="GridTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<Grid MinWidth="200">
    <DataGrid Margin="0" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridCheckBoxColumn Header="Column A" Width="*"/>
            <DataGridCheckBoxColumn Header="Column B" Width="*"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>
</ScrollViewer>

  • Haben Sie versucht, dieses: <DataGrid HorizontalAlignment="Stretch" Eigenschaften "horizontalcontentalignment" ="Stretch" ColumnWidth="*" />
  • Ja, Gleiches Ergebnis leider.
  • Entfernen HorizontalScrollBarVisibility="Auto" und probieren Sie es aus.
InformationsquelleAutor Jay | 2013-07-26
Schreibe einen Kommentar