Возможно ли использовать стиль DataGrid для WPF Toolkit, так что запись данных может охватывать несколько строк. Example screen shot от коммерческого управления.Закрепление записи по нескольким строкам в DataGrid WPF Toolkit
Спасибо,
Бен
Возможно ли использовать стиль DataGrid для WPF Toolkit, так что запись данных может охватывать несколько строк. Example screen shot от коммерческого управления.Закрепление записи по нескольким строкам в DataGrid WPF Toolkit
Спасибо,
Бен
Это не возможно с инструментарием DataGrid или GridView для ListView, нет.
Однако вы можете иметь удачи с вашей собственной реализации, так как я недавно обнаружил, вы можете использовать GridViewHeaderRowPresenter
(MSDN reference), установите Columns
свойство колонки, которые вы хотите: что даст вам строку заголовка.
Затем вы можете использовать GridViewRowPresenter
(MSDN reference), прикрепите его к тому же Columns
коллекции и вуаля, ваши столбцы в строки и заголовок будет связан (размер заголовка, столбцы изменения).
Смотрите здесь хороший пример:
Для того, чтобы получить эффект многослойного, вы можете создать ListView
или ListBox
, и для каждого элемента, который вы бы выход вертикально уложенная пара элементов управления GridViewRowPresenter
, каждая из которых привязана к отдельной коллекции колонок. Затем в своем собственном заголовке (чуть выше элемента управления) вы сделали бы то же самое с парой элементов управления GridViewHeaderRowPresenter
.
Затем вы можете добавить любые другие биты, которые вам бы хотелось, например текст/метку, которые они имеют в скриншоте вашего примера.
Нет причин, по которым это не должно работать. Это не готовое решение, но возможно с чистым кодированием, это не взлом, и у вас есть полный контроль над тем, как он выглядит и работает! Добавление сортировки и т. Д. Довольно просто, для MSDN также есть пример.
Надеюсь, что поможет - больше вопросов по деталям, пожалуйста, добавьте комментарий здесь!
Похоже, что элемент управления на этом скриншоте создает иллюзию диапазона строк, разделяя ячейки в каждом столбце справа от изображения на несколько строк. Возможно, вы могли бы добиться такого эффекта, который вы ищете таким же образом.
<tk:DataGrid AutoGenerateColumns="False">
<tk:DataGrid.Columns>
<tk:DataGridTextColumn Header="ID" Binding="{Binding ID}" />
<tk:DataGridTemplateColumn Header="Photo">
<tk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Photo}" />
</DataTemplate>
</tk:DataGridTemplateColumn.CellTemplate>
</tk:DataGridTemplateColumn>
<tk:DataGridTemplateColumn>
<tk:DataGridTemplateColumn.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0">FirstName</TextBlock>
<TextBlock Grid.Row="1">LastName</TextBlock>
</Grid>
</tk:DataGridTemplateColumn.Header>
<tk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding FirstName}" />
<TextBlock Grid.Row="1" Text="{Binding LastName}" />
</Grid>
</DataTemplate>
</tk:DataGridTemplateColumn.CellTemplate>
</tk:DataGridTemplateColumn>
</tk:DataGrid.Columns>
</tk:DataGrid>