UWP应用中数据绑定的妙用(c#)

值新冠肺炎区间,不能出门,也不想出门,在家里看了一下C#的在windows10下开发应用的书(《深入浅出:Windows10通用应用开发2》。感觉数据绑定跟嵌入式编程中用手法完全不同,特别写下了加强记忆。

运行在window10 的商店应用程序称之为UWP, 开发UWP比较常用的是C#+XMAL, 面对对象的编程,所以将数据(Data),显示(View),模型(Model),在设计上就显示比较重要,这个也是此前没有遇到过的程序问题。比如对一个按钮的点击次数进行统计,通常的办法是:

Click()

{

  count++;

        txexblock.text = count.toString(); // 这种设计跟嵌入式的中断写一长串差不多,今天还有另外的方法,应该说比这个看起来要美很多。但代码多了,在这个例子中有点画蛇添足的感觉

}

------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用了数据绑定后主要代码如下:


public class MyData : INotifyPropertyChanged
{
private string count;

 


public string Count
{
set { this.count = value; OnPropertyChanged("Count"); }
get { return this.count; }
}

public MyData(string s)
{
count = s;
}

 

// 通知接口的实现,一旦有数据变化,通过它去更新界面。
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string t)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(t));
}
}
}

 

public MyData myData = new MyData("UN CLICK");

private int i = 0;

public MainPage()
{
this.InitializeComponent();
this.DataContext = myData;
}

private void BtnButton_Click(object sender, RoutedEventArgs e)
{
myData.Count = string.Format("CLICK,{0}", i++); //  点击计算,并没有显示的代码!
}

 

//以上的代码完全看不出在什么地方显示,因为绑定是在xmal文件进行关联的。

<TextBlock Text="{Binding Count,Mode=OneWay}" Margin="12,100,0,28" Foreground="Red"  FontSize="50"/>

当然,这肯定归功于windows系统才能实现,不过确定是好纯粹的数据与显示分离, 很羡慕那些写win APP的程序猿, 有好的工具和好的思想可以使用。

// 2020.2.18

// Shenzhen

猜你喜欢

转载自www.cnblogs.com/newbit/p/12327353.html