在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变量,控件将自动作出调整。
联系客服