假设我有两个按钮定义如下:
<Button Content="ButtonA" Command="{Binding [SomeTerminal].SomeCommand}"/>
<Button Content="ButtonB" Command="{Binding [SomeTerminal].SomeCommand}"/>
我可以知道是否可以抓取按钮的内容?这意味着当用户单击第一个按钮时,我可以得到
ButtonA
在我的SomeCommand
方法?
最佳答案
在“纯”MVVM 解决方案中,您需要将数据放入 ViewModel 并将按钮的内容绑定(bind)到该数据以显示它。然后,您还可以通过 Command 参数将绑定(bind)数据传递给命令。
<Button Content="{Binding SomeDataA}"
Command="{Binding [SomeTerminal].SomeCommand}"
CommandParameter="{Binding SomeDataA}" />
<Button Content="{Binding SomeDataB}"
Command="{Binding [SomeTerminal].SomeCommand}"
CommandParameter="{Binding SomeDataB}" />
从 View 获取 UI 数据被认为是不好的做法,因为它会在 ViewModel 中创建对 View 的依赖关系,从而使其更难测试。
关于c# - WPF从按钮传递按钮内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22243736/