wpf有乙個特性,叫做資料驅動,我個人的理解就是把業務邏輯抽出來,變成資料,資料變化來驅動咱們的應用程式。在之前的winform時代,其實已經有了資料繫結,比如我們的datagridview,可以繫結乙個dataset,source直接繫結就可以,原理上來說類似,但是wpf由於有了依賴屬性,那麼屬性通知做的更好,意味著,我們的資料繫結對於前台的變化會更高效。
下面這個例子就是把乙個類的物件,繫結到前台頁面展示。
我們加個按鈕,去更新這個類的姓名,發現前台並沒有發生改變,這是為什麼呢?因為我們的類的屬性並不是依賴屬性,當然還有另外乙個辦法,就是繼承自inotifypropertychanged,當這個類的屬性更新,現在前台再次更新就會改變啦。
public class person:inotifypropertychanged
set
}private int age;
public int age
set
}private string company;
public string company
set
}public event propertychangedeventhandler propertychanged;
public void onpropertychanged(propertychangedeventargs e)}}
當然可以繫結多個資料,而不是單值,比如下面這個,是我們公司的高精度定位系統的測試工具,datagrid就是在後台繫結了乙個集合,然後根據socket自動更新這個集合,前台不斷變化的例子,包括頁面左邊的treeview也是做的資料繫結,這樣的好處就是,當我的裝置掉線或者上線的時候,可以立馬更新,而不是要用**去處理了。
datagrid的itemsource指定集合,具體的類如下,也是同樣的繼承自inotifypropertychanged,這樣就自動通知了。
showresult.itemssource = tags;
public class taginfo : inotifypropertychanged
set
}private string tagid;//標籤號
public string tagid
set
}private int devrssi;//基站訊號強度
public int devrssi
set
}private double distance;//距離
public double distance
set
}private string rectime;//接收時間
public string rectime
set
}private string voltage;//電壓
public string voltage
set
}public event propertychangedeventhandler propertychanged;
public void onpropertychanged(propertychangedeventargs e)}}
WPF學習 繫結
原文 一。繫結到元素物件 1。元素和元素 xaml 1.1xaml格式 目標屬性 1.2 binding binding new binding binding.source 源控制項 binding.path new propertypath value 源控制項屬性 binding.mode b...
wpf 資料繫結
1,資料繫結的幾種方式 重點解釋以下幾點 1,目標物件的屬性是依賴項屬性.2,對於default方式,當目標屬性可以設定時,則是雙向繫結,否則是單向繫結.2,使用 繫結和解除繫結 binding binding new binding binding.source silderfontsize 繫結...
學習WPF 元素繫結
概念 從源物件提取一些資訊,並用這些資訊設定目標物件的屬性 示例 在給textblock控制項的fontsize屬性賦值時,我們使用了繫結表示式 資料繫結表示式使用xaml的標記擴充套件 因此具有花括號 參見 這裡建立了乙個system.windows.data.binding物件,所以繫結表示式以...