WPF學習(19) 資料繫結

2021-09-05 10:08:03 字數 1798 閱讀 4704

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物件,所以繫結表示式以...