首先我们先明确Databinding Mode的3种模式:
OneTime | 目标控件的属性只更新一次,以后的更新会被忽略 |
OneWay | 数据对象的值会同步到目标控件的属性,但是目标控件的属性改变不会被同步到数据对象中 |
TwoWay | 目标控件的属性和数据对象的值相互同步 |
其中,用于OneWay和TwoWay绑定的对象都必须实现“INotifyPropertyChanged”接口
实现范例:
public class TestClass : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private int _ID; public int ID { get { return _ID; } set { _ID = value; _name = "name" + value; if (PropertyChanged != null) { PropertyChanged.Invoke(this,new PropertyChangedEventArgs("name")); } } } private string _name="Text Box"; public string name { get { return _name; } set { _name = value; } } }
XAML绑定范例:
首先需要引入绑定对象的命名空间:
xmlns:local="clr-namespace:TestPhoneApp"
定义静态资源:
<phone:PhoneApplicationPage.Resources> <local:TestClass x:Key="testclass"/> </phone:PhoneApplicationPage.Resources>
控件绑定:
<TextBox Height="72" HorizontalAlignment="left" margin="0,186,0" name="textBox2" Text="{Binding Path=ID,Mode=OneTime,Source={StaticResource testclass}}" VerticalAlignment="top" WIDth="460" /> <TextBox Height="72" HorizontalAlignment="left" margin="0,287,0" name="textBox3" Text="{Binding Path=name,Mode=OneWay,Source={StaticResource testclass}}" VerticalAlignment="top" WIDth="460" />总结
以上是内存溢出为你收集整理的Silverlight 之数据绑定(简单例子)全部内容,希望文章能够帮你解决Silverlight 之数据绑定(简单例子)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)