【发布时间】:2013-03-03 20:28:53
【问题描述】:
我有用户控件,其中包含带有 WaterMark 的 TextBox
<AdornerDecorator>
<TextBox
Height="20"
Margin="10,0"
Grid.Column="0"
Text="{Binding MainCategoryTextBoxValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Name="MainCatTextBox">
<controls:WatermarkService.Watermark>
<TextBlock VerticalAlignment="Center" x:Name="MainCategoryTextBlock"> </TextBlock>
</controls:WatermarkService.Watermark>
</TextBox>
</AdornerDecorator>
你可以在这里看到 WatermarkService 的实现 https://stackoverflow.com/a/836463/1548347
我想在<controls:WatermarkService.Watermark> 中获取“MainCategoryTextBlock”文本块并将其 DataContext 设置为与我的 UserControl DataContext 相同,以便从我的 ViewModel 更改 RunTime 中的水印文本。
我尝试将带有 RelativeSource 的“MainCategoryTextBlock”DataContext 绑定到我的 UserControl DataContext 但我没有成功(可能是语法错误 - 我不确定)。
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
你知道我该如何解决吗?
谢谢
【问题讨论】:
标签: wpf mvvm datacontext