WPF学习之-绑定

一、将元素绑定到一起

数据绑定的最简单情形是源对象是WPF元素,而且源属性是依赖属性。

绑定表达式如下:

<TextBox Text="{Binding Path=Value,ElementName=slider1}"/>
<Slider x:Name="slider1"/>

绑定模式:

  • OneWay:源变化时更新目标
  • TwoWay:源和目标属性相互更新
  • OneTime:实例化一次的时候更改
  • OneWayToSource:目标属性变化更改源属性
  • Default:此类绑定依赖与目标属性

绑定更新updateSourceTrigger枚举值

  • PropertyChanged:当目标属性发生变化时立即更新源
  • LostFouse:当目标属性发生变化并且目标丢失焦点时更新源
  • Explicit:除非调用BindingExpression.UpdateSource()方法,否则无法更新源
  • Default:根据目标属性的元数据确定更新行为,大多数属性行为时PropertyChanged,但TextBox.Text的属性默认行为是LostFous。

绑定延迟

使用Binding对象的Delay属性。

二、绑定到非元素对象

当绑定到非元素对象时,需要放弃Binding.ElementName属性,并使用以下属性中的一个:

  • Source
  • RelativeSource
  • DataContext:如果没有使用Source和RelativeSource属性指定源,WPF就从当前元素开始在元素树中向上查找,检查每个元素的DataContext属性,并使用第一个非空的DataContext属性。当我要将同一个对象的多个属性绑定不同的元素时,DataContext非常有用。
posted @ 2021-09-16 22:13  HelloWorld庄先生  阅读(279)  评论(0编辑  收藏  举报