1. 关于依赖属性
<TextBox x:Name="sourceTBox" />
<TextBlock x:Name="tb" Text="{Binding Text,ElementName=sourceTBox}" />
- 源对象:
TextBox
- 目标对象:
TextBlock
- 目标属性:
TextBlock -> Text
2. 绑定与依赖属性
- 绑定操作中,
目标属性
必须是依赖属性
。也就是上面例子中的TextBlock -> Text
必须是依赖属性 - 依赖属性具有
自动通知
的能力,不需要实现INotifyPropertyChanged
接口
3. 其他例子
<TextBox x:Name="tb3" Grid.Row="2" Background="LightBlue" FontSize="24" Margin="4" Text="{Binding Result}" />
其中TextBox - Text
是依赖属性
。
4. PasswordBox注意事项
控件PasswordBox
的Password
属性不是依赖属性
(出于安全考虑)。如果需要绑定需要特殊处理。
5. code snippet 技巧
propa + 两下tab
: 添加附加属性代码propdp + 两下tab
: 添加依赖属性代码
参考
- WPF—数据绑定之PasswordBox绑定(八)
- C# Wpf Binding 使用详解
- 深入理解WPF-WPF为什么需要依赖属性