如何在使用 dataGrid 的 selectedItem 的文本框中使用数据触发器?
How to use a data trigger in a text box that uses the selectedItem of a dataGrid?
我想在文本框中使用数据触发器,根据数据网格中 selected 项的 属性 的值设置 isEnabled 属性。
我正在尝试这个:
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding MyDataGridName, ElementName=SelectedItem.MyProperty1.MyProperty2}" Value="1">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
但文本框始终处于启用状态。当我 select 该项目时,我确实检查过它具有 属性1 并且 属性2 具有 1 作为值。所以我猜问题是我没有正确设置触发器。
尝试此代码,您需要将 Datagrid 指定为 elementName 而不是 selectedItem:
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyDataGridName, Path=SelectedItem.MyProperty1.MyProperty2}" Value="1">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
我想在文本框中使用数据触发器,根据数据网格中 selected 项的 属性 的值设置 isEnabled 属性。
我正在尝试这个:
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding MyDataGridName, ElementName=SelectedItem.MyProperty1.MyProperty2}" Value="1">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
但文本框始终处于启用状态。当我 select 该项目时,我确实检查过它具有 属性1 并且 属性2 具有 1 作为值。所以我猜问题是我没有正确设置触发器。
尝试此代码,您需要将 Datagrid 指定为 elementName 而不是 selectedItem:
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyDataGridName, Path=SelectedItem.MyProperty1.MyProperty2}" Value="1">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>