WPF中MVVM模式下加载窗体

WPF中MVVM模式下加载窗体

1.在xaml中写入绑定事件ScriptManagerCmd

<RibbonGroup  Visibility="{Binding ScriptManagerVisi}">
                    <RibbonButton LargeImageSource="/Resource/images/globe.png" Label="脚本管理"  Command="{Binding ScriptManagerCmd}" />
                </RibbonGroup>

2.在vm.cs类中写入事件函数

 public ICommand ScriptManagerCmd { get; set; }

注意:
ICommand 接口一般用在 MVVM 架构中。这里在 控件中,Command 属性绑定到“UpdateCommand”。由于 UpdateCommand 只不过是一个 ICommand 实例,因此在加载窗口时,它将检查 CanExecute 返回值,如果它返回 true,则它将启用按钮控件并且 Execute 方法已准备好使用,否则按钮控件将被禁用。

  ScriptManagerCmd = new DelegateCommand(() =>
            {
                //脚本管理
                ScriptWin sw = new ScriptWin();
                /*跳转到ScriptWin.xaml.cs文件中*/
                sw.ShowDialog();
                SqlSugarCore.DbContext db = new SqlSugarCore.DbContext();
                QSOOC = new ObservableCollection<QuickScriptObject>(db.QSObjDb.GetList());/*数据库DbContext自动更新*/
            });

3.加载窗体的xaml.vs

   public ScriptWin()
        {//脚本管理界面
            //TreeView
            InitializeComponent();
            this.DataContext = (ScriptWinVM)ScriptWinZ.Resources["ScriptWinViewModel"];
            //将内容绑定到原脚本管理界面的名称为ScriptWinZ后修改别名信息ScriptWinViewModel

        }