数据绑定基础;前台表示和后台耦合度太高;
无法数据实时同步;不是不可以是太麻烦;数据绑定是一种XAML和后台数据交互的方式(桥梁)。
四个重要组成部分:
绑定的数据源;
数据源属性(路径);
绑定的目标对象;
目标对象的依赖属性;在XAML中需要数据的地方使用扩展标记
TextBlockx:Name=textBlock2Text={BindingPath=Name}/
在后台代码中为当前控件的数据上下文(DataContext)赋值
textBlock2.DataContext=newDataBindingPageData{Name=李四};
或者在后台代码中为当前页面数据上下文(DataContext)赋值
this.DataContext=newDataBindingPageData{Name=李四};
{BindingTitle}其实是{BindingPath=Title}的简写形式;在后台代码中定义模型数据属性。
publicTestModelTestModel{get;set;}
在初始化界面元素之前为模型数据属性赋值。
//模型赋值
TestModel=newTestModel{TestData=李四};
//初始化界面元素(内部解析XAML中的对象声明)
this.InitializeComponent();
在XAML中设置数据上下文(DataContext)。
DataContext={BindingTestModel,RelativeSource={RelativeSourceMode=Self}}“
注意RelativeSource属性;基本语法:{BindingPath=PropertyName}
Path属性值是要用于绑定的源对象的属性名
类似C#语法指定属性的子属性
{BindingPath=PropertyName.SubPropertyName}
绑定指定元素的附加属性
{BindingElementName=grid1,Path=(Grid.Row)}
可以使用索引器
{BindingPath=PropertyName[index]};Personp1=newPerson();
p1.Name=张三;
Bindingbinding=newBinding();
binding.Path=newPropertyPath(Name);
binding.Source=p1;
txtResult.SetBinding(TextBlock.TextProperty,binding);;数据上下文是可继承的。如果对父元素设置了数据上下文,则其所有子元素都将使用这一数据上下文。
子元素可以通过以下方式来重写此行为:对其绑定对象设置Source属性或者设置其DataContext(之后将应用于其所有子级)。
设置数据上下文的形式:
后台代码中设置;
XAML中定义资源并应用;资源中自定义对象
后台定义属性,前台XAML中绑定;;数据绑定的数据源不仅仅可以是一个自定义对象,还可以使用UI元素对象。
就是将一个界面元素对象作为绑定的数据源。
轻松实现两个控件之间的交互。
基本语法:
Width={BindingElementName=sliderDiameter,Path=Value}
ElementName就是指定数据源控件的Name属性;当数据源和目标属性类型不相同时,可以自定义两者之间的转换方式。
具体就是实现IValueConverter接口:
publicclassDateTimeToStringConverter:IValueConverter
{
publicobjectConvert(objectvalue,TypetargetType,objectparameter,stringlanguage)
{
returnSystem.Convert.ToDateTime(value).ToString(yyyy-MM-ddHH:mm:ss);
}
?
publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,stringlanguage)
{
returnSystem.Convert.ToDateTime(value);
}
}
数据绑定时设置Converter为自定义的Converter;OneTime:一次绑定,即数据
您可能关注的文档
最近下载
- 人教版九年级数学下册2026年春季学期教学工作计划与教学进度表 (最新教材).docx
- T_CACM 1649—2025(支气管扩张症中西医结合诊疗指南).pdf
- 第六届福建省综合气象业务职业技能竞赛【决赛】理论考试题库-上(单选题部分).docx VIP
- 标准图集-07MS101 市政给水管道工程及附属设施.pdf VIP
- 2024年国网四川省电力公司招聘考试真题.pdf VIP
- 【2026年春新教材】部编版小学二年级下册道德与法治全册教案(教学设计).pdf
- 数学思政课教学案例.docx VIP
- 2024-2025学年广东省东莞市东华高级中学、东华松山湖高级中学高一下学期学习效率检测(一)数学试卷(含答案).docx VIP
- (高清版)DB12∕T 1115-2021 泵站工程运行管理规程.pdf VIP
- DB3305_T276-2023_生态联勤警务站建设与管理规范_湖州市 .docx VIP
原创力文档

文档评论(0)