打开视图按钮,单击MVVM

本文关键字:单击 MVVM 按钮 视图 | 更新日期: 2023-09-27 18:12:42

我知道已经有一些这样的问题,但我似乎无法解决该怎么办,我有一个按钮,我想打开一个新窗口,有没有办法在纯xaml中做到这一点?我不知道如何打开对话框没有调用它从我的CodeBehind或ViewModel。我没有使用任何mvvm工具包。

打开视图按钮,单击MVVM

我不知道如何打开对话框没有调用它从我的CodeBehind或ViewModel。

通常,您在代码中完成此操作-但是,大多数MVVM框架提供了一种抽象方法。

这通常是通过ViewModel中的某种形式的服务位置(例如:注入一个"ViewService"或类似的)来处理的。另一种选择是使用某种形式的消息传递,这是MVVM Light的方法。

这些方法的优点是可以在不知道视图的情况下编写VM -您正在改变编写代码的方式,以便命令(在ViewModel中)触发某些事件,并为您打开正确的视图。这使得View依赖于你的VM层。

你可以这样做....

您可以使用<x:Code>:

<Button Content="OK" Click="Button_Click"/>
<x:Code>
  private void Button_Click(object sender,RoutedEventArgs e)
  {
    MessageBox.Show("Hello");
  }
</x:Code>