У меня есть datagrid с 4 столбцами. Первые три имеют Width="Auto"
, тогда как последний имеет Width="*"
, чтобы заполнить оставшееся пространство. Я не хочу горизонтальную полосу прокрутки, поэтому я отключен.WPX DataGrid обертывание столбцов
Когда программа изменяется на определенную величину ширины, вышеописанная ситуация происходит (только текст последнего столбца получает обернутую). Это не выглядит так плохо, , но когда вы уменьшаете ширину окна еще больше (в котором больше нет места для отображения правого столбца), столбец с «wwwwwwwwwwwwwww ...» по-прежнему не завершается это текст, и все становится белым, так как правый столбец переносит на бесконечность (без пробела). Теперь я ожидал, что эта проблема исчезнет, введя минимальную ширину в самый правый столбец, но вместо этого она приведет к тому, что этот столбец будет отображаться (частично или полностью) за пределами видимой области.
Он работает как ожидалось, когда я делаю третий столбец также как Width="*"
, но это приводит к значительному повреждению ширины последнего столбца (что мне не нужно). Я попытался установить его на Width="0.1*"
(или что-нибудь в этом направлении) с минимальной шириной вместо этого, но я получаю исключение бесконечности из datagrid.
Это сводит меня с ума, и я не вижу выхода отсюда, чтобы достичь того, чего хочу. Короче говоря, все, что я хочу, это текст столбцов, который нужно обернуть доступной ширине файла данных. Последний столбец должен иметь предпочтение ширины.
XAML:
<DataGrid Grid.Row="0" Grid.Column="1" IsEnabled="{Binding HasValidSelectedItem}" ItemsSource="{Binding Items, IsAsync=True}" AutoGenerateColumns="False"
SnapsToDevicePixels="True" EnableColumnVirtualization="False" HorizontalAlignment="Stretch" CanUserAddRows="False" CanUserDeleteRows="False"
CanUserResizeRows="False" HorizontalScrollBarVisibility="Disabled" >
<DataGrid.Resources>
<Style TargetType="CheckBox" BasedOn="{StaticResource CenteredCheckBoxStyle}" x:Key="CenteredReadOnlyCheckBoxStyle">
<Setter Property="IsHitTestVisible" Value="False"/>
<Setter Property="Focusable" Value="False"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Test First"
Binding="{Binding First, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" ElementStyle="{StaticResource CenteredReadOnlyCheckBoxStyle}"
EditingElementStyle="{StaticResource CenteredReadOnlyCheckBoxStyle}" >
</DataGridCheckBoxColumn>
<DataGridCheckBoxColumn Header="Test Second"
Binding="{Binding Second, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" ElementStyle="{StaticResource CenteredReadOnlyCheckBoxStyle}"
EditingElementStyle="{StaticResource CenteredReadOnlyCheckBoxStyle}" />
<DataGridTextColumn Header="Test Third" Binding="{Binding Third}"
EditingElementStyle="{StaticResource DataGridEditingTextBoxStyle}" CellStyle="{StaticResource DataGridToolTipDataGridCellStyle}">
<DataGridTextColumn.ElementStyle>
<Style BasedOn="{StaticResource DataGridTextBlockStyle}" TargetType="{x:Type TextBlock}">
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Padding" Value="0,6"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Test Fourth" Width="*" IsReadOnly="True" Binding="{Binding Path=Fourth}"
EditingElementStyle="{StaticResource DataGridEditingTextBoxStyle}" CellStyle="{StaticResource DataGridToolTipDataGridCellStyle}">
<DataGridTextColumn.ElementStyle>
<Style BasedOn="{StaticResource DataGridTextBlockStyle}" TargetType="{x:Type TextBlock}">
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Padding" Value="0,6"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Можете ли вы предоставить все ваши сетка – C1rdec
Забыл @Cedric, еще раз проверьте. –