1. 程式人生 > >WPF資料繫結

WPF資料繫結

雖然很多人都知道WPF提供了很強大的資料繫結功能,但是並不知道怎麼去學習。我也是剛剛接觸這個,剛開始的時候看到了MSDN提供的文件和文章裡面的WPF介紹,裡面雖然有詳細的講解和一個提供的拍賣程式程式碼,可是對於初學的我來說還是看得頭大,結果看了一個下午也明白具體該怎麼用。

  不過還好,後來找到了這篇《資料點 WPF 中的資料繫結》這篇文章,總算讓我入了門,地址貼出來大家看一下:http://msdn.microsoft.com/zh-cn/magazine/cc163299.aspx。這裡講解的也是一些初級的東西,我看完之後才總算是有一個初級的理解。

  資料繫結,其實就是將控制元件的屬性修改成Binding的型別(我自認為這樣理解比較方便),其中最重要的就是理解什麼是繫結物件和繫結源,MSDN給出的定義如下:

  繫結的目標可以是從 DependencyProperty 派生而來的任何可訪問屬性或元素,例如 TextBox 控制元件的 Text 屬性。繫結的源可以是任何公共屬性,包括其他控制元件、公共語言執行庫 (CLR) 物件、XAML 元素、ADO.NET Dataset、XML 片段等的屬性。

  雖然概念說的很詳細,但是不太容易理解,所有我簡單總結了一下,哪個控制元件的屬性裡面引用了Binding,這個控制元件就是繫結物件,那麼另一個自然就是繫結源了。我寫了一個最簡單的資料繫結例子,視窗中包含一個TextBlock控制元件和一個TextBox控制元件,現在我們將TextBlock的內容繫結到TextBox中,也就是說,你向TextBox中輸入什麼東西,TextBlock就顯示什麼內容,截圖如下:

  下面是程式碼:

<Window x:Class="ExplodeProgram.SimpleBinding"
        xmlns=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x=
"http://schemas.microsoft.com/winfx/2006/xaml"
        Title=
"SimpleBinding" Height="300" Width="300">
    <Grid>
        <TextBlock Height="71" HorizontalAlignment=
"Left" Margin="24,39,0,0" Name="textBlock1" Background="AliceBlue" 
                   VerticalAlignment=
"Top" Width="232" />
        <TextBox Height="32" HorizontalAlignment="Left" Margin="39,181,0,0" Name="textBox1" VerticalAlignment="Top" Width="194" 
                   Text=
"{Binding ElementName=textBlock1, Path=Text, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" />
    </Grid>
</Window>
///此程式碼在VS2010,.Net4.0中可以正常編譯。直接複製即可。 

  至於具體的講解就看我上面提供的那篇文章吧,也可以看MSDN技術資源庫關於資料繫結的講解:http://msdn.microsoft.com/zh-cn/library/vstudio/ms750612%28v=vs.100%29.aspx。我相信,只要入了門,以後學習這個就方便多了。

相關推薦

WPF---資料之PasswordBox(八)

一、概述 眾所周知,繫結的源既可以是依賴屬性也可以是普通的CLR屬性,而繫結的目標只能是依賴屬性。 控制元件PasswordBox的Password屬性不是依賴屬性,不可以作為繫結的目標與後臺資料進行繫結,而在MVVM模式中,前臺和後臺的繫結是經常需要的,為了達到這種目的,我們可以藉助附加屬性來實現Pas

WPF資料小結

目錄   1、資料繫結 1.1 定義 1.2 繫結語法 1.2.1 標記擴充套件使用 1.2.1 物件元素語法 1.3 繫結資料來源型別 1.4 繫結資料流方向 1.5 繫結到集合 2、資料轉換介面 2.1 單值轉換介面IValueConve

WPF資料---雙向

定義繫結型別時,實現/引用INotifyPropertyChanged介面 public class StudentData:INotifyPropertyChanged { private int id; private string name; pu

WPF資料-簡單物件的

繫結自定義的資料類物件 在xaml程式碼中,Binding標記擴充套件中僅定義了Path屬性,將它繫結到StudentData類的屬性上。不需要定義源物件,因為通過指定DataContext類定義源物件。 DataContext是一個依賴屬性,它用基於Framewro

WPF資料-用XAML

用XAML繫結          WPF元素不僅是資料繫結的目標,它還可以是繫結的源。可以把一個WPF元素的源屬性繫結到另一個WPF元素的目標屬性上。 ElementName指向繫結源,Path指向源屬性 此處CheckBox為繫結源,IsChecked為源屬性,Labe

WPF 資料詳解。。。

資料繫結 控制元件之間的繫結 繫結源 source  資料提供者 繫結物件 target  接受資料的物件,被繫結的物件 對 繫結物件 進行資料繫結,將其的屬性,和繫結源的某個屬性進行繫結 純 xaml 繫結 < Grid > < T

WPF資料

雖然很多人都知道WPF提供了很強大的資料繫結功能,但是並不知道怎麼去學習。我也是剛剛接觸這個,剛開始的時候看到了MSDN提供的文件和文章裡面的WPF介紹,裡面雖然有詳細的講解和一個提供的拍賣程式程式碼,可是對於初學的我來說還是看得頭大,結果看了一個下午也明白具體該怎麼用。

WPF資料(二)

前面講了最近本的兩種資料繫結,這次講講資源繫結和Context繫結 1、資源繫結 同樣不需要寫程式碼,僅僅需要配置XAML就可以了。 1 <TabItem Header="ResourceBinding"> 2

WPF資料之4種模式

在使用Binding類的時候有4中繫結模式可以選擇 BindingMode TwoWay 導致對源屬性或目標屬性的更改可自動更新對方。此繫結型別適用於可編輯窗體或其他完全互動式 UI 方案。 OneWay 當繫結源(源)更改時,更新繫結目標(目標)屬性。如果要繫結的控制元件

WPF 資料例項一

前言:   資料繫結的基本步驟: (1)先宣告一個類及其屬性 (2)初始化類賦值 (3)在C#程式碼中把控制元件DataContext=物件; (4)在介面設計裡,控制元件給要繫結的屬性{Binding 繫結類的屬性} 原理:監聽事件機制,介面改變有TextChanged之類的事件,所以改變介面可以

WPF 關於資料大量元素到同一個物件。

當在同一個物件上繫結大量元素時,當然XMAL也是同樣可以繫結,但會使得XMAL的程式碼量很多,每個繫結的元素都要依此的與控制元件屬性值繫結。為了解決或者改善這個問題。下面介紹這種通用的繫結方式。 1.先看下面的例子   //此處是繫結的資料的類,自己可以自定義此類 usin

WPF學習筆記 ComboBox的資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

WPF雙向資料總結

1、指定繫結源 WPF雙向資料同步:目標屬性(UI)和源屬性(CS)資料同步。 實現雙向資料同步資料來源需要實現依賴屬性INotifyPropertyChanged介面,因為依賴屬性有垂直的內嵌變更通知機制。 INotifyPropertyChanged是用於實現介面通知。DependencyObjec

WPF筆記:WPF自定義treeview樣式及資料

定義treeview 展開按鈕(togglebutton)樣式,建立資源: <Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton"> <Setter Property="Foc

WPF Listview資料發生改變後前端沒有更新

前端沒有更新的原因: 1.將控制元件與列表繫結 ICMask.ItemsSource = _poppingWordList; 2.在更新繫結資料時 _poppingWordList = newWordList; 因為List是引用,這樣是將_poppingWordList的指向的列表更

C# wpf 中的資料4-2(15)

同一個資料來源繫結到兩個或多個控制元件上。如我們的示例中把ListBox的選中項繫結到TextBox與TextBlock。 在繫結語法中增加一個 Mode 屬性,即繫結模式。對於我們的示例,我們把TextBlock的繫結語法中的Mode屬性設為 OneWay 。把TextB

C# WPF在xaml中的資料

在WPF的繫結中個人分為兩種:非集合資料繫結和集合資料繫結。 非集合資料繫結:指的是包含資料為單個de控制元件的資料繫結,而不是有很多子項,例如Button,TextBox,TextBlock等等的繫結。 集合資料繫結:指的是包含很多子項的控制元件的資料繫結,例如ListV

WPF學習(19)-資料

      wpf有一個特性,叫做資料驅動,我個人的理解就是把業務邏輯抽出來,變成資料,資料變化來驅動咱們的應用程式。在之前的WINFORM時代,其實已經有了資料繫結,比如我們的datagridview,可以繫結一個dataset,source直接繫結就可以,原理上來說

WPF中TreeView控制元件資料和後臺動態新增資料

資料繫結: TreeView資料繫結需要使用層次結構資料模板(HierarchicalDataTemplate)來顯示分層資料。XAML程式碼如下: <TreeView Name="chapterTree" Grid.Column="0"> <TreeVie

wpf datagrid中的 DataGridComboBoxColumn資料

wpf  中datagridcomboxColumn的資料繫結主要分下面幾步 1。提供資料來源型別:可以是任意的資料型別:這裡用列舉 public enum OrderStatus { None, New, Processing, Shipped, Received