【发布时间】:2011-02-19 14:47:10
【问题描述】:
我首先要说我的 WPF 应用程序没有使用 MVVM 模式。请原谅我。
现在我有一个带有两个按钮的数据模板,每个按钮都绑定到该数据模板所代表的 CLR 对象上的不同命令。两者都使用相同的命令参数。这是按钮的示例。
<Button x:Name="Button1"
Command="{Binding Path=Command1}"
CommandParameter="{Binding Path=Text, ElementName=TextBox1}"
/>
<Button x:Name="Button2"
Command="{Binding Path=Command2}"
CommandParameter="{Binding Path=Text, ElementName=TextBox1}"
/>
我想将其重构为一个按钮,该按钮可以根据用户设置(如 Settings.settings 中的布尔值)执行任一命令。我无权重构 CLR 对象本身。这也是一个数据模板,没有代码隐藏供我使用。我的看法是转换器将是最好的选择,但我不知道如何将它们组合在一起。
转换器需要接受 CommandParameter 以及 DataContext,以便知道要在哪个对象上执行命令。
有人可以帮我解决这个问题吗?提前致谢。
【问题讨论】:
标签: wpf binding command converter