WPF几种高级绑定

(1)Binding  + RelativeSource + AncestorType 模式  , 根据关联源所指定的类型,可动态绑定指定类型的Path属性(Path可以省略)(PS:动态指父级在运行时才可以获取到的属性),例子如下:

<TextBox x:Name="Date_TextBox" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontStretch="{TemplateBinding FontStretch}"  
                                     VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                     IsReadOnly="{Binding IsDateReadOnly,RelativeSource={RelativeSource AncestorType=local:FreeDatePicker}}"  BorderThickness="0"  MaxLength="10"
                                     Text="{Binding Path=SelectedDate, Mode=TwoWay,Converter={StaticResource str_mutual_dt},   
                                     StringFormat='yyyy-MM-dd', RelativeSource={RelativeSource AncestorType=DatePicker}}"
                                     KeyDown="Date_TextBox_KeyDown" PreviewMouseDown="Date_TextBox_PreviewMouseDown"
                                     GotKeyboardFocus="Date_TextBox_GotKeyboardFocus" MouseDown="Date_TextBox_MouseDown" GotFocus="Date_TextBox_GotFocus"/>

 

(2)TemplateBinding模式(模板绑定),通常在控件模板中——>实现“静态”绑定父级的对应属性(PS:静态指父级在非运行时就具有的属性),例子如下:

FontSize="{TemplateBinding FontSize}"

 

(3)Binding  + RelativeSource + TemplatedParent模式 ,由于关联源指向 “模板的父级”,所以可动态绑定父级的Path属性(Path可以省略),例子如下:

Source="{Binding NormalImage,RelativeSource={RelativeSource TemplatedParent}}"/>

posted @   长白山  阅读(480)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
历史上的今天:
2015-06-12 Prism——Region
2015-06-12 组合模式的一个案例说明
点击右上角即可分享
微信分享提示