WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。
創新互聯建站服務項目包括長安網站建設、長安網站制作、長安網頁制作以及長安網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,長安網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到長安省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!MVVM模式和MVC模式一樣,主要目的是分離視圖(View)和模型(Model),有幾大優點
1. 低耦合。視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
2. 可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。
3. 獨立開發。開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計,使用Expression Blend可以很容易設計界面并生成xaml代碼。
mvvmlight(nuget 下載最新版)
4. 可測試。界面素來是比較難于測試的,測試可以針對ViewModel來寫。
vs2015
在我的程序中跑了一個新線程
Thread.Start()
關閉wpf窗口時,線程里的程序沒跑完,則線程繼續在后臺跑
那就在主窗體的.cs文件中加入
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
Environment.Exit(0);
}
在要用到mvvmlight的工種中添加mvvmlight之后
項目中會多出一個ViewModel文件夾
里面有兩個文件:
MainViewModel.cs
ViewModelLocator.cs
而原先的App.xaml里也會多出幾行東東:
即上面代碼中的
標簽里的內容
這個先不管
直接運行一下,會報錯
在ViewModel文件夾下的ViewModelLocator.cs里會報錯
這個錯誤通過搜索發現了解決方法:
將這行報錯的引用注釋掉或刪掉,添加另一行引用
即
using CommonServiceLocator;
這樣就不報錯了
類繼承ObservableObject
當然要引用相應的包
using GalaSoft.MvvmLight;
這個按我的理解就是繼承了這個類,屬性的變化就可響應,并且從UI中反應出來
即屬性有變動時,UI中也相應更新
在窗體的xaml.cs中,在構造函數里要定義數據綁定時的上下文
this.DataContext = ……;
在xaml文件里綁定
開一個新線程,里面隔一定時間,給綁定的數據更新,這樣在窗口中的TextBlock里也會隨之更新內容
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。