をComboBox
構成する があり、そのプロパティをテンプレート化された のプロパティにDataTemplate
バインドするのに問題があります。IsEnabled
IsReadOnly
DataGridTemplateColumn
VS 出力ウィンドウに次のエラーが表示されます。
「IsReadOnly」プロパティが「オブジェクト」「ContentPresenter」に見つかりません
コンボボックスのスタイル:
<Style TargetType="{x:Type ComboBox}" x:Key="ProficiencyColumnComboBoxStyle">
<Setter Property="IsEnabled"
Value="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=IsReadOnly, Converter={StaticResource BooleanOppositeConverter}}" />
</Style>
問題は、RelativeSource
自分のDataGridColumn
. 私はもう試した:
RelativeSource={RelativeSource TemplatedParent}
RelativeSource AncestorType={x:Type DataGridColumn}
RelativeSource AncestorType={x:Type DataGridTemplateColumn}
このスタイルに他のセッターを追加しようとしましたが、それらは効果があるので、スタイルを知っておりDataTemplate
、コントロールに適用されています。
PS
これと同じ手法を使用して、テンプレート化された列の親のプロパティにComboBox
内の別のプロパティをバインドしました。違いは、ここではコンバーターを使用しており、(グリッドではなく) 列のプロパティにバインドしようとしていることです。ただし、上記のスタイルからコンバーターを削除しても、バインディングは行われません。DataTemplate
DataGrid