我有一个ComboBox组成 a 的 a DataTemplate,我无法将其IsEnabled属性绑定到IsReadOnlytemplated 上的属性DataGridTemplateColumn。
我在 VS 输出窗口中收到以下错误:
在“对象”“ContentPresenter”上找不到“IsReadOnly”属性
组合框样式:
<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正在应用于控件。
附言
我已经使用相同的技术将 a 中的另一个绑定ComboBox到其模板列DataTemplate的父级上的属性。不同之处在于,我在这里使用了转换器,并尝试绑定到列(而不是网格)上的属性。但是,即使我从上述样式中删除了转换器,也不会发生绑定。DataGrid