Изменение размера столбца WPF DataGrid - PullRequest
0 голосов
/ 14 января 2019

У меня есть DataGrid с 3 или более столбцами, размер которых можно изменить, перетаскивая линию между заголовками столбцов.

Когда я уменьшаю ширину первого столбца, второй столбец становится шире. Положение третьего столбца не меняется.

Но то, что я ищу, - это поведение, подобное тому, которое вы знаете в большинстве распространенных приложений для работы с оболочкой: когда я уменьшаю ширину первого столбца в OpenOffice Calc, все столбцы справа от первого столбца перемещаются влево. Второй столбец не становится шире.

Можно ли получить такое поведение изменения размера с помощью WPF DataGrid?


Вот фрагмент кода XAML.

 <DataGrid Name="dataGrid" Grid.IsSharedSizeScope="True" AutoGenerateColumns="False" IsReadOnly="False"
            SelectionUnit="FullRow" HeadersVisibility="None" RowHeaderWidth="0" BorderThickness="0 0 0 0" 
            SelectionChanged="dataGrid_SelectionChanged" SelectedCellsChanged="dataGrid_SelectedCellsChanged"  PreviewMouseRightButtonDown="dataGrid_PreviewMouseRightButtonDown"
            PreviewKeyDown="DataGrid_PreviewKeyDown">
    <DataGrid.Columns>
      <DataGridTemplateColumn Header="Title" CanUserResize="True" MinWidth="10" Width="*" CanUserSort="False" CanUserReorder="False">
        <DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
            <local:ListControlEntryControl>
              <local:ListControlEntryControl.EntryContrainer>
                <MultiBinding Converter="{StaticResource multiValueConverterGroup}">
                  <Binding />
                  <Binding Path="Trigger"/>
                </MultiBinding>
              </local:ListControlEntryControl.EntryContrainer>
            </local:ListControlEntryControl>
          </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
      </DataGridTemplateColumn>
      <DataGridTemplateColumn Header="V1" CanUserResize="True" MinWidth="10" Width="50" CanUserSort="False" Visibility="Visible">
        <DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
            <TextBlock>abc</TextBlock>
          </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
      </DataGridTemplateColumn>
      <DataGridTextColumn Header="V2" CanUserResize="True" MinWidth="10" Width="50" CanUserReorder="False" Visibility="Visible" Binding="{Binding V2}" IsReadOnly="False"/>
    </DataGrid.Columns>
  </DataGrid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...