我不确定我是否完全理解绑定的优势。例如,如果我想将字符串值绑定到TextBlock,我需要执行以下操作:
然后我需要创建一个新的类实例,设置我的TextBlock.DataContext指向该类,最后为绑定添加XAML位。
有人可以通过简单的设置来解释这一点的优势:
TextBlock.Text = MyString;
谢谢!
答案 0 :(得分:5)
MyString
的任何更改都不会自动反映在您的用户界面中。答案 1 :(得分:1)
优点是您可以在多个位置更改和显示值,而无需在每次更改值时更新某些方法以添加另一个TextBlock分配。任何新的显示控件都会将其自身绑定到属性,其余的都是自动的。
现在,如果您真的只是将值设置在一个位置并在一个控件中显示,那么您是对的,没有多大意义。
答案 2 :(得分:0)
对于绑定到静态字符串的TextBlock,使用数据绑定的好处并不特别明显。
但是,如果MyString的值在应用程序运行时期间发生更改,则会变得更加有用 - 尤其是在拥有该属性的对象不知道TextBlock的情况下。可以使用诸如MVVM之类的设计模式来创建UI与底层数据层之间的这种分离。
数据绑定对于更复杂的属性(例如ListBox控件中的Items)也很有用。只需将ListBox.Items绑定到ObservableCollection类型的属性,只要该集合的内容发生更改,UI就会自动更新。