У меня есть DataGrid
с ColumnWidth="*"
в ScrollViewer
с HorizontalScrollBarVisibility="Auto"
. К сожалению, эта комбинация не работает хорошо. В то время как DataGrid
правильно покрывает всю ширину окна, столбцы очень маленькие (MinWidth
). Если я меняю HorizontalScrollBarVisibility
на Disabled
, он работает, но я теряю желаемое поведение ScrollViewer
.DataGrid.ColumnWidth = "*" не работает в ScrollViewer
Minimal Рабочий пример:
<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>
Почему это происходит и как я могу работать вокруг него?
пытаются использовать 2 * вместо * –
@MahdiFarhani Это ничего не делать. –
Основная проблема - ScrollViewer, но позвольте мне найти причину. когда вы удаляете ScrollViewer, все хорошо. –