1. 程式人生 > >WPF框架MVVM簡單例子

WPF框架MVVM簡單例子

複製程式碼
    public class PersonListViewModel : INotifyPropertyChanged
    {
        #region Fields
        private string _searchText;
        private ObservableCollection<PersonModel> _resultList;
        #endregion

        #region Properties

        public ObservableCollection<PersonModel> PersonList { get
; private set; } // 查詢關鍵字 public string SearchText { get { return _searchText; } set { _searchText = value; RaisePropertyChanged("SearchText"); } } // 查詢結果 public ObservableCollection<PersonModel> ResultList {
get { return _resultList; } set { _resultList = value; RaisePropertyChanged("ResultList"); } } public ICommand QueryCommand { get { return new QueryCommand(Searching, CanSearching); } }
#endregion #region Construction public PersonListViewModel() { PersonList = PersonDataHelper.GetPersons(); _resultList = PersonList; } #endregion #region Command Handler public void Searching() { ObservableCollection<PersonModel> personList = null; if (string.IsNullOrWhiteSpace(SearchText)) { ResultList = PersonList; } else { personList = new ObservableCollection<PersonModel>(); foreach (PersonModel p in PersonList) { if (p.Name.Contains(SearchText)) { personList.Add(p); } } if (personList != null) { ResultList = personList; } } } public bool CanSearching() { return true; } #endregion #region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; #endregion #region Methods private void RaisePropertyChanged(string propertyName) { // take a copy to prevent thread issues PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } #endregion }
複製程式碼

相關推薦

WPF框架MVVM簡單例子

public class PersonListViewModel : INotifyPropertyChanged { #region Fields private string _searchText; private Observable

Dubbo分散式框架入門簡單例子(附工程原始碼)

要想了解Dubbo是什麼,我們不防先了解它有什麼用。  使用場景:比如我想開發一個網上商城專案,這個網上商城呢,比較複雜,分為pc端web管理後臺,微信端銷售公眾號,那麼我們分成四個專案,pc端網站,微信端網站,還有一個後臺服務專案,介面服務專案。 對資料庫的操作的相關

【我們一起寫框架MVVMWPF框架之綁定(二)

static blog ica navig 創建 string 一是 user 業務 MVVM的特點之一是實現數據同步,即,前臺頁面修改了數據,後臺的數據會同步更新。 上一篇我們已經一起編寫了框架的基礎結構,並且實現了ViewModel反向控制Xaml窗體。 那麽現在就

【我們一起寫框架MVVMWPF框架(四)—DataGrid

pri vertical on() public 頁面 alignment predicate block tco 前言 這個框架寫到這裏,應該有很多同學發現,框架很多地方的細節,其實是違背了MVVM的設計邏輯的。 沒錯,它的確是違背了。 但為什麽明知道違背設計邏輯,

【我們一起寫框架MVVMWPF框架(五)—完結篇

前言 這篇文章是WPF框架系列的最後一篇,在這裡我想闡述一下我對框架設計的理解。 我對框架設計的理解是這樣的: 框架設計不應該侷限於任何一種設計模式,我們在設計框架時,應該將設計模式揉碎,再重組;這樣設計出來的框架才具有一戰之力。 框架設計應該根據專案團隊成員水平量身定製。 我上

基於前端框架react或者vue或者其他其他框架到出資料生成csv檔案,以及匯入csv檔案讀取資料的簡單例子

1.用npm在專案中安裝以下外掛: npm install file-saver --save npm install papaparse --save npm install jschardet --save npm install iconv-lite --save npm install

一個基於MINA框架應用的最簡單例子

直接上程式碼。關於原理和主要的API以後在說。先能跑通了在說。 主要的包:mina-core-2.0.0.jar【到官網上下載完整專案包裡面還有文件和依賴包】,jcl-over-slf4j-1.5.11.jar,slf4j-api-1.5.11.jar,slf4j-nop-1.5.11.jar這

【我們一起寫框架MVVMWPF框架(三)—資料控制元件

這世上,沒人能一次性寫出完美無缺的框架;因為,任何一個框架都需要專案的淬鍊,然後才能昇華,趨近完美。 所以,框架是個反覆修改的東西,最終形成的東西。 如果你學了一點技術,覺得自己可以寫出框架了,覺得自己有架構師的能力,然而自己總是懷才不遇——那一定是你的錯覺。 因為,你框架沒有經過專案淬鍊;而淬鍊過框架

AgileEAS.NET SOA 中介軟體平臺.Net Socket通訊框架-簡單例子-實現簡單的服務端客戶端訊息應答

一、AgileEAS.NET SOA中介軟體Socket/Tcp框架介紹 AgileEAS.NET SOA中介軟體Socket/Tcp框架是一套Socket通訊的訊息中介軟體: 二、簡單例子-實現簡單的伺服器客戶段訊息應答      我們接下來實現一個簡單的例子,例子的場景非常的簡單,客戶端向服

學習vue框架一個簡單MVVM框架的學習筆記---記錄僅為個人學習

學習vue框架一個簡單MVVM框架的學習筆記—記錄僅為個人學習 參考資料: 理解vue原理,實現簡單vue框架 解析vue原理,如何實現雙向繫結 vue雙向繫結原理 一設計思路 因為我是在看了這幾篇文章才稍微理解了vue的雙向繫結,所以我這裡有一點上帝視角的意思。就好像應當這樣的

ssh框架ajax獲取後臺list資料簡單例子

一直很迷惘,ssh框架不知怎麼從前臺獲取後臺資料,折騰了兩天,終於搞清楚了 特別是關於ajax中action路徑的url搞了很久 ajax 需要以下幾個包,同時還需在webapp/web-inf/下建lib,在裡面也放入下列包,不然會報找不到方法<pre name=

開源框架MVVM Light Toolkit for wpf/silverlight系列

    本系列文章主要介紹wpf/silverlight下開源框架mvvmlight的使用,mvvmlight是基於mvvm的一個輕量級的框架,包含mvvm基本架構和一些擴充套件的功能。     如果你還沒接觸過MVVM,那麼先推薦你閱讀Josh Smith寫的關於MVVM

阿里路由框架--ARouter最簡單例子

這是最簡單的案例 專案結果: 一個是專案的app,然後我新建了一個module:libraryone 首先處理app MainActivity.java package com.exampl

WPF-MVVM模式學習筆記2——MVVM簡單樣例

 一. MVVM理解     1. 先建立一個簡單的WPF樣例,並逐步將它重構成為MVVM模式。    這個Demo需求是:在介面上放置文字框用來顯示定義的類Student中的名字,放置Button來修改Student的名字。    剛建立好的樣例工程文件如下圖:    

從0到1:使用Caliburn.Micro(WPFMVVM)開發簡單的計算器

get ali 快速 prot 調整 cte 發出 ESS ces 原文:從0到1:使用Caliburn.Micro(WPF和MVVM)開發簡單的計算器從0到1:使用Caliburn.Micro(WPF和MVVM)開發簡單的計算器 之前時間一直在使用Caliburn.Mi

(原創)Maven+Spring+CXF+Tomcat7 簡單例子實現webservice

produces per back targe xsd lean listener ans 控制 這個例子需要建三個Maven項目,其中一個為父項目,另外兩個為子項目 首先,建立父項目testParent,選擇quickstart: 輸入項目名稱和模塊名稱,然後創建:

AutoConf自動生成Makefile(基於helloworld簡單例子

programs tom change col -a 二進制 自己 int 生成 新建一個簡單的helloworld工程文件夾,目錄結構如下 hello.h代碼: #include<stdio.h> void fprint() { printf("h

ASP.NET 創建WebService——簡單例子

本地 解析 com 調用 net XML ges png hone Web service是一個基於可編程的web的應用程序,用於開發分布式的互操作的應用程序,也是一種web服務 WebService的特性有以下幾點: 1.使用XML(標準通用標記語言)來作為數據交互的

ASP.NET JS調用WebService——簡單例子

例子 頁面 bsp ima 技術 .com images ebs png 一、創建好WebService 二、編輯頁面與js 三、 運行頁面並點擊按鈕,結果如下 簡單調用吧! ASP.NET JS調用WebService——簡單例子

ASIHTTPRequest框架簡單使用

依賴 復雜 esp 進度 ear ice mutable 壓縮 word ASIHttpRequest是一款及其強勁的HTTP訪問開源項目。讓簡單的API完畢復雜的功能,如:異步請求,隊列請求,GZIP壓縮。緩存,斷點續傳,進度跟蹤,上傳文件。H