我正在使用棱镜构建菜单(使用trtelerik树视图和分层数据模板,但希望细节无关紧要),并尝试在每个菜单项绑定上设置一个Click.Command,这些绑定都将调用视图模型中定义的相同委托命令。菜单是由我不想在其中添加任何命令引用的项目组成的。
如何将命令绑定到xaml中的每一项?我环顾四周,看起来在WPF中我可以使用相对源代码绑定并找到祖先,但在silverlight中似乎没有这样做的方法。我能以某种方式将委托设置为静态资源吗?我不认为我可以为视图模型创建一个静态资源,因为它使用Unity来解析它的构造函数的参数。
发布于 2010-04-27 23:35:27
一种选择是通过ElementName绑定绑定到用户控件的DataContext (或任何其他控件的DataContext)。
<UserControl x:Name="Control" xmlns:Cal="clr-namespace:Microsoft.Practices.Composite.Presentation.Commands;assembly=Microsoft.Practices.Composite.Presentation"...
Cal:Click.Command="{Binding ElementName=Control, Path=DataContext.SomeVMCommand}"https://stackoverflow.com/questions/2697954
复制相似问题