快捷搜索:  test  as

WPF/Silverlight2.0 Binding(数据绑定)机制详解

作甚数据绑定

在WPF技巧中控件基类(FrameworkElement、FrameworkContentElement)中DataContext属性实现了绑 定机制,在XAML中也支持此机制。当一个控件的DataContext发生变更时,其子控件的DataContext也会继 承父控件的DataContext(条件是这个子控件没有别的赋值)。子控件的属性获取数据源中的数据,支持 XAML经由过程Binding标记获取数据源中的值。数据源更新时刷新其每个子控件中的数据更新,实现一呼百诺 的效果!

Binding绑定标记

XAML处置惩罚器支持绑定机制的语法,以{Binding PropertyName=Value}款式呈现。此中PropertyName基 本分为“数据源指定标记、读取数据源标记、附加选项标记”,Value可以应用其它标记获取特殊的值。 绑定表达式中可以应用数据源标记、读取数据源标记、附加选项标记组合应用,也可以应用父控件绑定命 据源,子控件承袭父控件的数据源并进行绑定。

语法

同于

数据源指定标记

Source属性:经由过程其它扩展标记拟订任何类型的工具实例为数据源,可以应用StaticResource等标记 设置。例如:“{Binding Source={StaticResource xKeyElement}, XPath=//item}”,xKeyElement是 XMLDataProvider的工具,意思是获取以xKeyElement中所有以item为标签节点的数据为数据源。

ElementName属性:拟订当前XAML文档中任何以(x:Name)名称为ElementName值的工具为数据源。例如 :“{Binding ElementName=ListBox1, Path=SelectedItem}”,意思是把ListBox1的SelectedItem属性 为当前控件的数据源。

RelativeSource属性:相对数据源,应用RelativeSource可以拟订与自身相关联的工具为数据源。例 如:“RelativeSource={RelativeSource Self}}”,读者留意“中心的是RelativeSource{}是一个扩展 标记,而外貌的RelativeSource={}是Binding标记的属性”。这段实例代码的意思是获取自身为数据源。

您可能还会对下面的文章感兴趣: