Я создаю пользовательский элемент управления, который использует GridViewRowPresenter аналогично тому, как это делает ListView - привязка к коллекции Columns
View
Свойство моего элемента управления, которое имеет тип ViewBase :
<GridViewRowPresenter Content="{Binding Content}"
Columns="{Binding Path=View.Columns, RelativeSource={RelativeSource AncestorType={x:Type local:MyControlType}}}" />
Это означает, что пользователи элемента управления могут указывать столбцы, используя знакомый синтаксис стиля GridView
, например:
<MyControlType><MyControlType.View><GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="Address" CellTemplate="{StaticResource MyCellTemplate}" />
</GridView></MyControlType.View></MyControlType>
Это работает нормально, однако мой элемент управления (MyControlType
) должен иметь возможность "переопределить" шаблон ячейки для столбцов в моей сетке, чтобы они включали некоторый дополнительный контент.
Как я могу сделать это с минимальным изменением синтаксиса, которое должны писать пользователи элемента управления?