Разделение столбца Wpf DataGrid

Я хочу поместить столбец для указания диапазона в сетке данных wpf. Для этого я думаю взять один столбец с заголовком «Диапазон» и хочу разбить его на 2 столбца, например «Минимум» и «Максимум». Можно ли так представить данные? Если да, то что означает привязка данных к сетке данных, как изменится привязка?


person user1041238    schedule 11.11.2011    source источник
comment
почему бы просто не иметь два столбца, представляющих два поля класса с именем max и minima... кроме того, вы не можете разделить столбец по частям, поскольку он уже является разделенным элементом строки   -  person Pankaj Upadhyay    schedule 11.11.2011


Ответы (1)


Если вы можете сохранить минимальные/максимальные части без изменения размера, то существует довольно простое решение:

  1. В ваших объектах создайте свойство типа Tuple или любого другого типа, который будет представлять вашу минимальную/максимальную структуру.
  2. Добавьте шаблонный столбец в свою сетку следующим образом (примеры привязки должны работать с кортежем, но я не пробовал):

<DataGrid>
  <DataGrid.Columns>
    <DataGridTemplateColumn Header="Min/Max">
      <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
          <Grid>
            <Grid.RowDefinitions>
              <RowDefinition />
              <RowDefinition />
            </Grid.RowDefinitions>
            <TextBlock Grid.Column="0" Text="{Binding Item1}" />
            <TextBlock Grid.Column="1" Text="{Binding Item2}" />
          </Grid>
        </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
  </DataGrid.Columns>
</DataGrid>

Привяжите свою сетку к данным как обычно

person Community    schedule 11.11.2011