我有一個包含內部變更DataContext的內部控制 - WPF
<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中的水印文本。
我試圖將「MainCategoryTextBlock」DataContext與RelativeSource綁定到我的UserControl DataContext,但我沒有成功(可能語法錯誤 - 我不知道)。
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
你有什麼線索我該如何解決它?
感謝
我不能使用這種方法。我從代碼中設置了我的觀點的數據上下文(基於PRISM的應用程序)。如果我將從我的視圖中創建實例並執行您的建議,我將獲得2個ViewModel實例。 – Ofir 2013-03-05 04:38:08