C# 对绑定来自另一个控件的按钮应用DataTrigger?
我正在尝试将C# 对绑定来自另一个控件的按钮应用DataTrigger?,c#,wpf,datatrigger,C#,Wpf,Datatrigger,我正在尝试将数据触发器应用于按钮,它取决于树视图当前选定项的属性。我想根据所选项目的属性更改按钮的文本 我所拥有的是这样的: <Button x:Name="m_AddObject" Margin="192.708,0.909,6,6.363" Click="AddObject_Click" > <DataTrigger Binding="{Binding ElementName=ObjectTreeView, Path=SelectedItem.Removable}"
数据触发器
应用于按钮
,它取决于树视图
当前选定项的属性。我想根据所选项目的属性更改按钮的文本
我所拥有的是这样的:
<Button x:Name="m_AddObject" Margin="192.708,0.909,6,6.363" Click="AddObject_Click" >
<DataTrigger Binding="{Binding ElementName=ObjectTreeView, Path=SelectedItem.Removable}" Value="true">
<Setter TargetName="m_AddObject" Property="Content" Value="Remove" />
</DataTrigger>
</Button>
但我无法编译它。Setter抱怨“Content”无效,因为它没有限定的类型名,但如果我将其更改为“Button.Content”,它会抱怨“Object reference not set to a instance of a Object”
我还尝试:
<Setter TargetName="m_AddObject.Content" Value="Remove" />
虽然它可以编译,但也不起作用
我被难住了
有什么想法吗
谢谢 应在按钮的样式中定义DataTriggers。您在上面尝试的是使用DataTriggers作为按钮的“标签”(WPF称之为“内容”),而不是说“OK”
这是临时的,因此可能不完全正确,但更接近您想要的:
<Button x:Name="m_AddObject"
Margin="192.708,0.909,6,6.363"
Click="AddObject_Click">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ObjectTreeView, Path=SelectedItem.Removable}" Value="True">
<Setter Property="Content" Value="Remove" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>