#375 – Binding Something in a Tooltip to a Property on the Parent Control
August 30, 2011 3 Comments
You can use data binding to bind the value of a simple Tooltip property to some other property of the control. But you might also want to use data binding when you create a Tooltip as a child element in XAML.
Suppose you want a Tooltip to include several labels and you want the Content of the second label to bind back to a property on the parent control.
You can do this by using the PlacementTarget of the Tooltip to find its parent and then set the DataContext of the Tooltip.
<TextBox Text="Now is the winter of our discontent etc" Width="100" Margin="10"> <TextBox.ToolTip> <ToolTip DataContext="{Binding Path=PlacementTarget, RelativeSource={x:Static RelativeSource.Self}}"> <StackPanel> <Label FontWeight="Bold" Content="Full Text"/> <Label Content="{Binding Text}"/> <Label Content="--Gloster, in Richard III (Act I, Scene I)"/> </StackPanel> </ToolTip> </TextBox.ToolTip> </TextBox>