Closed
如果属性的值为 ,我想操作表单上的控件true
。
有一个类似的问题描述了DataTemplate
触发器。我相信这是我需要的,但我无法让它发挥作用。
我DataGrid
的定义如下:
<DataGrid SelectedItem="{Binding SelectedAccount, Mode=TwoWay}" ItemsSource="{Binding Accounts, Mode=TwoWay}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Account Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox x:Name="AccountName" Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}" />
<DataTemplate.Triggers>
<DataTrigger Binding="{RelativeSource FindAncestor, AncestorType={x:Type IAccount}}" Value="True">
... property adjustments ...
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...
它不编译并引发错误
无法将“System.Windows.Data.RelativeSource”类型的对象转换为“System.Windows.Data.BindingBase”类型
我还尝试按照另一个问题中的描述应用绑定。
<DataTemplate DataType="models:IAccount"> OR <DataTemplate DataType="models:Account">
...
<DataTemplate.Triggers>
<DataTrigger Binding="{Closed}" Value="True">
... property adjustments ...
</DataTrigger>
</DataTemplate.Triggers>
但这引发了其他错误消息
错误 1 XML 命名空间“http://schemas.microsoft.com/winfx/2006/xaml/presentation”中不存在标记“已关闭”。
错误 2 未找到“已关闭”类型。确认您没有丢失程序集引用并且所有引用的程序集都已构建。 Windows Presentation Foundation (WPF) 项目不支持
错误 3 Closed。
我对 WPF 和绑定非常陌生。你能帮忙吗?