Позиционирование всплывающей подсказки WPF

У меня есть стиль во всплывающей подсказке WPF, который в основном делает его похожим на речевой пузырь. Заостренная часть пузырька перестает правильно выравниваться, когда элемент управления находится справа от окна, поскольку WPF повторно выравнивает всплывающую подсказку, чтобы она соответствовала окну. Можно ли в любом случае применить другой стиль в зависимости от того, как позиционируется всплывающая подсказка?

Мой XAML выглядит так:

<Style x:Key="MyToolTip" TargetType="{x:Type ToolTip}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ToolTip}">
                <Grid x:Name="Grid">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="20" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <Rectangle Fill="#fff" Stroke="#FF000000" RadiusX="4" RadiusY="4" Grid.Row="1" />
                    <Path Fill="#fff" Stretch="Fill" Stroke="#FF000000" HorizontalAlignment="Left" Margin="8,0,0,-1.5" Width="20" Grid.Row="0"
                        Data="M 0,21 L 10,0 20,21" />
                    <ContentPresenter Margin="8" Grid.Row="1" />
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="Placement" Value="Bottom" />
    <Setter Property="HorizontalOffset" Value="-2" />
    <Setter Property="Width" Value="250" />
    <Setter Property="Height" Value="Auto" />
</Style>
7
задан AngeloBad 12 March 2012 в 22:41
поделиться