Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对绑定来自另一个控件的按钮应用DataTrigger?_C#_Wpf_Datatrigger - Fatal编程技术网

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>