我有用户控件,其中包含带有 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
我想在里面取“MainCategoryTextBlock”文本块<controls:WatermarkService.Watermark>
并将其 DataContext 设置为与我的 UserControl DataContext 相同,以便从我的 ViewModel 更改 RunTime 中的水印文本。
我尝试将“MainCategoryTextBlock”DataContext 与 RelativeSource 绑定到我的 UserControl DataContext 但我没有成功(可能是语法错误 - 我不确定)。
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
你有什么线索我该如何解决?
谢谢