如何将datatemplate中的文本框文本属性绑定到ContentControl内容属性?
(没有通过ElementName的bindng)
这是我的代码(不起作用):
<Window.Resources>
<DataTemplate x:Key="Temp">
<TextBox TextWrapping="Wrap" Text="{TemplateBinding Content}" Height="20" Width="Auto"/>
</DataTemplate>
</Window.Resources>
<Grid>
<ContentControl ContentTemplate="{DynamicResource Temp}" Content="1"/>
</Grid>
答案 0 :(得分:5)
使用相对源绑定:
Text="{Binding RelativeSource={RelativeSource AncestorType=ContentControl}, Path=Content}"
修改:我可能应该注意,就绑定目标而言,这相当于{Binding}
,DataContext
中的ContentTemplate
是Content
。
然而,直接绑定到DataContext
不会传播回源DataContext
,因此Content
的{{1}}会不更改什么时候使用这个绑定(或双向兼容变体ContentControl
,在我能说的时候,它完全没有变化。)