一、绑定:
主要包含元素绑定和非元素绑定两种。
1、元素绑定,是绑定的最简单形式,源对象是WPF的元素,并且源对象的属性是依赖项属性。
根据我们之前的知识 ,依赖项属性具有内置的更改通知支持。所以当我们的源对象中改变依赖项属性
的值时,会立即更新目标对象中的绑定属性。
以上篇的例子来重写,我们不用额外定义全局公开的属性来支持数据的显示。
如下:
<TextBlock Text="{Binding ElementName=WelcomeText,Path=Text,StringFormat=
TextBlock 绑定了名称为WelcomeText的元素,并且将Path指向Text属性,所以他的值会跟
着 WelcomeText的变化而变化。
2、非元素类型绑定:
2.1 Source属性:绑定具体的数据对象:如系统信息跟我们定义的资源数据。
定义Window下的全局资源
<Window.Resources>
Red
</Window.Resources>
应用到视图中
<TextBlock Text=“{Binding Source={x:Static SystemFonts.IconFontFamily},Pa
<TextBlock Text=”{Binding Source={StaticResource BorderBrush}}" Foregroun
结果:
2.2 RelativeSource 属性:设置该属性 可以根据当前目标对象的相对关系指向源目标。比如获取当
前对象的父亲对象、兄弟对象或者自身的其他属性等一些数据。
代码很容易理解,这边在创建RelativeSource的时候,mode模式有四种类型:
注意:AncestorType 指得是查找的对象类型,AncestorLevel 代表搜索的层级的位置,如果是3,则忽略前两个发现的元素。