WPF编程宝典--元素绑定

写在前面

今天讲解的元素绑定算是WPF的特点了吧,很多情况下我们不选择WinForm而是用WPF,就是因为元素绑定给我们带来的方便

简单的绑定表达式

废话不多说,直接上代码

<Slider Name="SliderFontSize" Margin="3" Minimum="1" Maximum="40" Value="10" TickFrequency="1" TickPlacement="TopLeft" />
<TextBlock Margin="10" Text="Simple Text" Name="lblsampleText" FontSize="{Binding ElementName=SliderFontSize, Path=Value}" />

这样最简单的绑定就完成了。

绑定模式

绑定模式分五种,

OneWay

单向,当源属性变化时更新目标属性。

TwoWay

双向,当源属性变化时更新目标属性,当目标属性变化时更新源属性。

OneTime

单次,最初会根据绑定改变属性值,忽略后续的改变。

OneWayToSource

单项,但与OneWay相反。

Default

这个模式比较麻烦,意思就是能做双向绑定的时候就是双向绑定,不能做双向绑定的时候就是单向绑定。

绑定更新模式

更新模式分五种,

PropertyChanged

当目标属性变化时立即更新源。

LostFocus

当目标属性发生变化且目标丢失焦点时更新源。

Explicit

除非调用BindingExpression.UpdateSource()方法,否则无法更新源。

Default

根据目标属性的元数据确定更新行为。我也不知道啥意思,好像是不同的控件更新的条件不同。

用代码创建绑定和检索绑定

//创建绑定
Binding binding = new Binding();
binding.Source = sliderFontSize;
binding.Path = new PropertyPath("Value");
binding.Mode = BindingMode.TwoWay;
lblsampleText.SetBinding(TextBlock.FontSize,binding);

//检索绑定
Binding binding = BindingOperations.GetBinding(lblsampleText,TextBlock.FontSize);

绑定非元素对象

绑定非元素的方法主要就是三种,分别是Source,RelativeSource,DataContext。虽然分三种,但是原理却差不多,都是准备好静态的资源,然后绑定到这些静态的资源上。

写在结尾

最后补充一点关于绑定的知识吧,也是前几天在WPF交流群里看到的,绑定的目标一定都是依赖属性,绑定源的Path一定是CLR属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值