1. 程式人生 > >C# WPF TextBox控制元件與變數的繫結

C# WPF TextBox控制元件與變數的繫結

在WPF中,可以將TextBox控制元件(其他控制元件也基本一樣)與相應的變數進行繫結,做出改變變數則控制元件也跟著改變的效果。雖然其原理跟原本的訊息響應是一樣的,只是在外部加了層封裝,但就是因為這層封裝,使得在編寫介面的過程中方便了很多。
首先需要宣告一個類,該類用來與控制元件繫結:

class MyTextshow : INotifyPropertyChanged //繫結物件  
{
    public string show;//顯示
    public event PropertyChangedEventHandler PropertyChanged;
    public string
Show { get { return show; } set { show = value; PropertyChanged(this, new PropertyChangedEventArgs("Show")); } } }

在xaml檔案中設定繫結

<TextBox x:Name="textBox" Text="{Binding Path=Show, Mode=TwoWay}"  HorizontalAlignment="Left" Height="38"
Margin="124,72,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="261"/>

其中,繼承的INotifyPropertyChanged類是用來發送訊息告訴控制元件變數的值改變了,控制元件需要作出調整。其實就相當於原本MFC的時候我們修改完變數後在下面去改控制元件的引數,只是這邊不用寫出來而已。該類宣告完後,例項化出相應的物件,跟控制元件繫結如下:

MyTextshow mtextshow = new MyTextshow();
mtextshow.show = "asdasdas";
textBox.DataContext = mtextshow;//textBox為控制元件名

則後面修改mtextshow變數,控制元件將自動作出調整。