C#探秘系列(八)WPF数据绑定

本文介绍了WPF数据绑定的概念,它为UI和业务逻辑间建立联系,使得数据变化能实时反映在界面中。文中详细讲解了数据源的设置、绑定路径的确定,以及Binding和BindingExpression的作用。此外,还探讨了数据模板在呈现数据时的重要性。
摘要由CSDN通过智能技术生成

一、初识数据绑定

WPF(Windrows Presentation Foundation)数据绑定提供了一种简单而持续的方式去与数据交互并将其呈现。元素可以通过各种形式的数据源以CLR(common language runtime)对象和xml对象如Button、ListBox、ListView等方式与数据联系起来。
数据绑定建立了在应用UI和业务逻辑之间的一种联系。一旦数据绑定成功,当数据改变值的时候,与数据绑定的元素会将其值自动显示出来。
以下将介绍如何构建数据绑定。

二、明确数据源

有多种方法去明确绑定的数据源。当你在同一源上绑定多个属性的时候,在父元素上使用DataContext属性行之有效。然而有时,在单个对象逐一声明绑定的数据源更为合适。如

<DockPanel.Resources>
  <c:MyData x:Key="myDataSource"/>
</DockPanel.Resources>
<Button Width="150" Height="30"
        Background="{Binding Source={StaticResource myDataSource},
                             Path=ColorName}">I am bound to be RED!</Button>

三、明确值所在的路径

如果你绑定的数据源是一个对象,你可以用Path属性去明确所绑定的值。如果绑定的是xml数据,你可以使用XPath属性来明确绑定的值。在有些情况下,即使你使用xml对象用Path属性来实现绑定也许更便捷。比如,如果你想获取返回的XmlNode对象的Name属性,你可以使用Path属性而不是XPath属性。

<ListBox ItemsSource="{Binding}"
         IsSynchronizedWithCurrentItem="true"/>

四、Binding及BindingExpression

Binding类在声明Binding时是一个高级的类,它提供了很多可供你明确绑定特征的属性。与此相关的一个类——BindingExpression,它保持了源与目的对象之间的联系。一个Binding对象包含了可在一些binding表达式中传递的信息。

//make a new source
  MyData myDataObject = new MyData(DateTime.Now);      
  Binding myBinding = new Binding("MyDataProperty");</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值