ListViewと同様の方法でGridViewRowPresenterを使用するカスタム コントロールを作成しています- ViewBaseタイプのコントロールのプロパティのコレクションにバインドします。Columns
View
<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
しますが、追加のコンテンツが含まれるように、コントロール ( ) がグリッド内の列のセル テンプレートを「オーバーライド」できる必要があります。
コントロールのユーザーが記述する必要のある構文への最小限の変更でこれを行うにはどうすればよいですか?