点击Button
时,我想调用一种方法。这就是我所做的。在XAML中,我有
<Button Content="HELLO" Width="40" Height="20">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding InteractionCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
在ViewModel中,我有
class MainWindowViewModel : Prism.Mvvm.BindableBase
{
public ICommand InteractionCommand { get; private set; }
public MainWindowViewModel()
{
this.InteractionCommand = new DelegateCommand<object>(OnInteraction);
}
public void OnInteraction(object obj)
{
System.Diagnostics.Debug.WriteLine("Hello");
}
}
有谁可以告诉我我哪里错了,因为这不起作用。 谢谢。
P:S:我知道我可以在Button
内绑定命令而不使用事件触发器。
答案 0 :(得分:0)
如果您已将DataContext
的{{1}}设置为视图模型类的实例,那么您的代码应该可以正常工作:
Button
以下仅设置实际运行应用程序时未应用的设计时间 public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
}
}
:
DataContext
它仅用于Visual Studio设计器的上下文中。