winform datagridview绑定数据_2.WPF数据绑定

  在WPF中如果同时在两个线程中对同一个控件进行操作会引发错误,Winform里需要写一个委托,WPF里的绑定功能可以解决这个问题,但是一般做法都需要在xmal代码里写一个绑定语句,但是为了更好的将界面和逻辑分离,可以采用下面的方法实现绑定。

1.创建控件

首先创建一个项目。

c89d735e658de36fe1f9f8f8486a283a.png

  在xmal中创建一个TextBox和一个Button,为了将数据与TextBox绑定,需要为TextBox起名,本例将其命名为“show”.

代码如下:

 <Grid>        <TextBox x:Name="show" HorizontalAlignment="Left" Height="85" Margin="115,35,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="280"/>        <Button Content="Button" HorizontalAlignment="Left" Height="85" Margin="115,140,0,0" VerticalAlignment="Top" Width="280" Click="Button_Click"/>    Grid>

2.绑定控件

1.创建数据类

class Source : INotifyPropertyChanged    {        public event PropertyChangedEventHandler PropertyChanged;        private string data;        public string Data        {            get { return data; }            set            {                data = value;                if (PropertyChanged != null)                {                   PropertyChanged(this, new PropertyChangedEventArgs("Data"));                }            }        }    }

创建这个类是为了给后面数据绑定提供数据源。这个类中的数据名称下图中1、2要保持一致;3、4、5要保持一致。

f0ebd620d723ff81a01fbddf635e5b09.png

2.数据与控件绑定

套路式添加代码如下:

        Source _Source;        public MainWindow()        {            InitializeComponent();            _Source = new Source();//实例化一个数据源            Binding bind = new Binding();//实例化一个绑定            bind.Source = _Source;//设置绑定的源(前面实例化的数据源)            bind.Path = new PropertyPath("Data");//设置绑定路径            BindingOperations.SetBinding(show, TextBox.TextProperty, bind);//执行绑定操作,参数:控件名称、要修改的控件类属性、绑定        }

a69b5046c5406b0e832626e2f87cfc1c.png

注意:上图中绑定路径里的数据名称要和数据源里的数据名称保持一致。

  至此,已经将_Source.Data和控件show的Text属性绑定,修改_Source.Data的值,控件里的显示文本会随之改变。

3.验证绑定

单击UI里的Button控件,实现向控件show里写入文本。代码如下:

        private void Button_Click(object sender, RoutedEventArgs e)        {            _Source.Data += "aaaa";        }

运行程序,效果如下:

dad54bdcf015c0ada3d719033100b79c.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值