gpt4 book ai didi

wpf - 使用 DataTemplate 中应用的样式绑定(bind)到 DataGridTemplateColumn?

转载 作者:行者123 更新时间:2023-12-01 05:31:43 28 4
gpt4 key购买 nike

我有一个组成 DataTemplateComboBox,但我无法将其 IsEnabled 属性绑定(bind)到 IsReadOnly 模板化 DataGridTemplateColumn 上的属性。

我在 VS 输出窗口中收到以下错误:

'IsReadOnly' property not found on 'object' ''ContentPresenter'

组合框样式:

<Style TargetType="{x:Type ComboBox}" x:Key="ProficiencyColumnComboBoxStyle">
<Setter Property="IsEnabled"
Value="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=IsReadOnly, Converter={StaticResource BooleanOppositeConverter}}" />
</Style>

我认为问题在于我如何指定用于标识我的 DataGridColumnRelativeSource。我试过:

  • RelativeSource={RelativeSource TemplatedParent}

  • RelativeSource AncestorType={x:Type DataGridColumn}

  • RelativeSource AncestorType={x:Type DataGridTemplateColumn}

我已尝试向该样式添加其他 setter ,它们确实生效了,因此我知道该样式和 DataTemplate 正在应用于控件。

附言

我使用相同的技术将 DataTemplate 中的另一个 ComboBox 绑定(bind)到其模板化列的父级 DataGrid 上的属性。 区别在于我在这里使用转换器,并尝试绑定(bind)到列上的属性(而不是网格。)但是,即使我从上面的样式中删除了转换器,也没有发生绑定(bind)。

最佳答案

试试这个:

<Style TargetType="{x:Type ComboBox}" x:Key="ProficiencyColumnComboBoxStyle">
<Setter Property="IsEnabled"
Value="{Binding IsReadOnly, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridCell}}, Converter={StaticResource BooleanOppositeConverter}}"/>
</Style>

DataGridCell.IsReadOnly 应该从它的 DataGridColumn.IsReadOnly 中获取值。

关于wpf - 使用 DataTemplate 中应用的样式绑定(bind)到 DataGridTemplateColumn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402674/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com