有时候我们需要控件的数据根据需要实时变化,这个时候我们可以用控件绑定数据。
1.首先我们创建一个文本控件,我这里用的是简单是TextBox。
你可以方便一点,直接拖出一个控件,也可以直接在xaml中编写代码生产控件。
必须使用一个Grid包住你的控件,名字自取,后面调用需要它。
如上代码所示, TextBox控件的依赖项属性Text绑定到Show, TextBlock的依赖项属性Text也是绑定到Show(这就相当于告诉大家,同一个绑定源可以同时绑定到多个绑定目标),
Show是MainWindows中的一个自定义的myClass对象mcl的string类型的属性,C#的代码如下图
public myclass mcl { get; set; } = new myclass();
public Mainwindow()
{
Initializecomponent();
mcl.mytext = "hello";//这个值也可以是变值(根据直接需要赋值即可)
mygrid.Datacontext = mcl;//需要给mygrid控件指定Datacontext为mcl,这是告诉Grid控件以及它子拉
//件绑定源是谁
这样就完成了控件与数据的绑定了,验证也很简单。看看TextBox有没有显示hwllo。
我是在扫描枪扫描得到数据后需要显示到控件上,前面操作是一样的,此外还需要绑定对象,代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConnectorLabourTest
{
class MyTextshow : INotifyPropertyChanged //绑定对象
{
private string show;//显示
public event PropertyChangedEventHandler PropertyChanged;
public string Show
{
get { return show; }
set
{
show = value;
PropertyChanged(this, new PropertyChangedEventArgs("Show"));
}
}
}
}
在自己封装好的Parames全局类中实例化对象myShow
public static MyTextshow myShow = new MyTextshow();
直接绑定对象
mygrid.DataContext = Parames.myShow;
获取到扫描枪数据后直接赋值给Show就可以了。
方法还有很多,也可以直接用委托,更方便,
我也是工作原因,边学边运用,各位加油。