我有一个MVVM应用程序。好吧,出于各种原因,它并非完全 100%纯MVVM,但我试图遵循其最重要的原则。
我想在Foobar
点击时调用MyUserControl
中包含的MyUserControl.xaml.cs
类的Button
方法(执行纯视图相关逻辑)。 Button
和MyUserControl
实例都存在于同一PageView
中(其数据上下文是一些不相关的视图模型)。
<Button Click="Foobar"/>
不起作用,因为存根显示在PageView.xaml.cs
而不是MyUserControl.xaml.cs
。
是否可以将Button
的Click事件与XAML中的Foobar
调用相关联?
答案 0 :(得分:2)
如果您确实需要通过XAML执行此操作,可以尝试将公共属性ICommand添加到MyUserControl类并在此命令中执行Foobar方法。然后将它绑定在PageView的xaml中,如下所示:
<Button Command="{Binding ElementName=myUserControl, Path=FoobarCommand}" />
答案 1 :(得分:0)
<Button Command={Binding CFoobar} .../>
使用CFoobar作为Viewmodel(DataContext)中方法的命令。 我希望我们正在谈论同样的问题。