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 }