c# - 根据 DataTrigger 更改按钮的单击事件

标签 c# wpf button datatrigger

我试图在触发 DataTrigger 时更改按钮的 Click 属性/事件,但我不确定这是否是最佳方法。事实上,它甚至无法编译:)

我所拥有的看起来像这样:

<Style TargetType="{x:Type Button}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding ElementName=ObjectTreeView, Path=SelectedItem.Replaceable}" Value="False">
            <Setter Property="Content" Value="Add" />
            <Setter Property="Button.Click" Value="AddObject_Click" />
        </DataTrigger>
        <DataTrigger Binding="{Binding ElementName=ObjectTreeView, Path=SelectedItem.Replaceable}" Value="True">
            <Setter Property="Content" Value="Replace" />
            <Setter Property="Button.Click" Value="ReplaceObject_Click" />
        </DataTrigger>
    </Style.Triggers>            
</Style>

编译时出现一条错误消息,显示“无法在“System.Windows.Controls.Button”类型上找到样式属性“Click””

有什么建议吗?如果这不可能,有什么替代方案?

谢谢!

编辑:

我以为我找到了使用 EventSetter 的解决方案,但触发器内部不支持 EventSetter。我认为可行的是:

<EventSetter Event="Button.Click" Handlder="AddObject_Click" />

但正如我所说,这是完全受支持的。

最佳答案

仅拥有一个单击事件并在该事件中使用基于 DataTrigger 的 if 语句不是更容易吗?

关于c# - 根据 DataTrigger 更改按钮的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/863990/

相关文章:

c# - 以编程方式设置滚动条的宽度

c# - 打印大型 WPF 用户控件

wpf - 在wpf中使用aforge videosouceplayer

javascript - 单击按钮会阻止表单提交

java - 如何将gif放在Button的背景中?安卓

c# - 找不到命名空间 'Smo',尽管添加了引用

c# - 画笔算法/颜色褪色模式 - 需要建议

c# - 使用 C# 和 WPF 更新 XML 文件

c# - 替换字符串中的空格

html - 在表格行中并排获取按钮的问题