如何在DataTemplate内部实现与TabItem Header属性的绑定
问题原因
你当前的绑定路径多写了DataContext层级:Header是TabItem控件自身的依赖属性,不是其DataContext对象下的属性,所以绑定找不到对应值才会显示为空。
修复方案
把TextBox的绑定代码修改为如下即可:
<TextBox Grid.Column="1" Text="{Binding Header, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TabItem}}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
参数说明
- 移除了路径中的
DataContext,直接读取查找命中的TabItem自身的Header属性 Mode=TwoWay实现双向同步:不仅TabItem.Header变更会同步到TextBox,修改TextBox内容也会反向更新TabItem的头部显示UpdateSourceTrigger=PropertyChanged实现输入过程中实时同步,不需要等TextBox失去焦点才更新,不需要实时效果可以删除该配置。
内容的提问来源于stack exchange,提问作者Christoph
相关产品推荐
相关产品推荐

