我們知道通過註冊事件直接可以在後台用this.close();方法進行直接關閉窗體。但是當我們用了mvvm 模式後,**的分層和規範讓我們不好再用傳統的方式進行關閉視窗,那麼在mvvm 下我們如何通過命令的方式下關閉視窗呢?
利用view裡的isenable屬性。
在子窗體的屬性中使用isenable . 如下:
在子窗體的xml.cs檔案下編寫如下**:
子窗體的建構函式新增註冊事件
///子窗體建構函式
public settingparameter()
/// /// 關閉子窗體
///
///
///
private void settingwindow_isenabledchanged(object sender, dependencypropertychangedeventargs e)
}
settingviewmodel 中 的屬性如下:
private bool isclosewin = true;
/// /// 與view的isenable屬性繫結。當為false時,關閉view。
/// 當該屬性更改時通知客戶端。
///
public bool isclosewin
set}
前台view 對應的關閉按鈕如下:
settingviewmodel 對應的命令方法如下:
在 WPF 程式中使用 MVVM 模式
mvvm 模式是乙個很久之前的技術了,最近因為乙個專案的原因,需要使用 wpf 技術,所以,重新翻出來從前的一段程式,重溫一下當年的技術。mvvm 實際上涉及三個部分,model,view 和 viewmodel 三者的關係如下圖所示。在三部分的關係中,檢視顯示的內容和操作完全依賴於 viewmod...
WPF隨筆(十三) MVVM模式下的視窗管理
使用mvvm模式的wpf專案和傳統的使用事件驅動模式的wpf在處理邏輯有所不同,即使最簡單的開啟視窗也有很大差異。public static class windowmanager 註冊視窗 public static void regiter string key,type t 移除視窗 publ...
WPF隨筆(十二) 使用MVVM模式
規模稍大的wpf專案一般會採用mvvm模式,常見的框架有prism mvvmlight caliburn等。今天就從頭開始建立乙個使用mvvm模式的wpf專案,對mvvm也能有乙個更好的了解。實現inotifypropertychanged介面是為了利用wpf的資料繫結特性,當資料來源發生變化時,能...