Ich habe einen DataGrid
mit ColumnWidth="*"
in einem ScrollViewer
mit HorizontalScrollBarVisibility="Auto"
. Leider scheint diese Kombination nicht gut zu funktionieren. Während sich die DataGrid
über die gesamte Fensterbreite erstreckt, sind die Spalten sehr klein (MinWidth
). Wenn ich HorizontalScrollBarVisibility
zu Disabled
ändere, funktioniert es, aber ich verliere das gewünschte ScrollViewer
Verhalten.DataGrid.ColumnWidth = "*" funktioniert nicht in einem ScrollViewer
Minimal Arbeitsbeispiel:
<Window x:Class="WPF_Sandbox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPF_Sandbox"
Title="MainWindow"
x:Name="ThisControl">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<DataGrid AutoGenerateColumns="False" ColumnWidth="*">
<DataGrid.Columns>
<DataGridTextColumn Header="Column 1" />
<DataGridTextColumn Header="Column 2" />
<DataGridTextColumn Header="Column 3" />
<DataGridTextColumn Header="Column 4" />
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Window>
, warum dies geschieht und wie kann ich es umgehen?
Versuch 2 verwenden * statt * –
@MahdiFarhani, der nichts tun. –
das Hauptproblem ist ScrollViewer, aber lassen Sie mich den Grund finden. Wenn Sie den ScrollViewer entfernen, ist alles gut. –