在Silverlight中,是否可以将按钮绑定到来自不同类的命令?

时间:2011-04-12 17:16:19

标签: silverlight

在Silverlight中,如果userControl inn Xaml的datacontext是A类,可以将一个按钮绑定到另一个类中的命令(比如说B类)吗?

感谢。

2 个答案:

答案 0 :(得分:1)

总之,是的。但是,您的A类(datacontext)将需要访问B类实例并公开公开(或公开您要绑定的任何内容 - 如委托)。

通常,在XAML中绑定的任何内容都要求可以通过DataContext访问绑定路径。

答案 1 :(得分:1)

是的,这可以做到。有几种方法:

  1. 您可以将按钮的DataContext指定给B类的实例。
  2. 您可以在按钮的资源(或其中一个按钮的父项)中添加类的实例,并将绑定指向StaticResource
  3. 将类型B的属性添加到A类,并将按钮的Command绑定到A类的该属性。
  4. 我不喜欢这些选项,但如果我必须选择我选择#3。 #1和#2造成太多混乱。最好的解决方案IMHO是将命令添加到A类,因为它更清晰,更符合MVVM的心态