Переопределение шаблонов ячеек WPF GridViewRowPresenter - PullRequest
3 голосов
/ 26 марта 2011

Я создаю пользовательский элемент управления, который использует 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) должен иметь возможность "переопределить" шаблон ячейки для столбцов в моей сетке, чтобы они включали некоторый дополнительный контент.

Как я могу сделать это с минимальным изменением синтаксиса, которое должны писать пользователи элемента управления?

...