C# 上父控件作为源

C# 上父控件作为源,c#,wpf,C#,Wpf,在这种情况下,如何获得上层控制作为源。TextBlock需要在工具提示上访问 <Style TargetType="{x:Type Control}" x:Key="ErrorTemplate"> <Style.Triggers> <Trigger Property="Validation.HasError" Value="True"> <Setter Property="ToolTip">

在这种情况下,如何获得上层控制作为源。TextBlock需要在工具提示上访问

<Style TargetType="{x:Type Control}" x:Key="ErrorTemplate">
    <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="True">
            <Setter Property="ToolTip">
                <Setter.Value>
                    <Grid Margin="5">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Grid.Column="1" Margin="4, 0,0,0" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ToolTip}, Path=(Validation.Errors)[0].ErrorContent}"></TextBlock>
                    </Grid>
                </Setter.Value>
            </Setter>
        </Trigger>
    </Style.Triggers>
</Style>


此链接是与相对源绑定的一个很好的示例:
<Setter Property="ToolTip">
                    <Setter.Value>
                        <ToolTip DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}">
                            <Grid Margin="5">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <TextBlock Grid.Column="1" Margin="4, 0,0,0" Text="{Binding Path=(Validation.Errors)[0].ErrorContent}"></TextBlock>
                            </Grid>
                        </ToolTip>
                    </Setter.Value>
                </Setter>