Стиль подсказки только по TargetType (не ключевой) - PullRequest
0 голосов
/ 22 января 2019

Я хочу установить стиль всплывающей подсказки для всех моих подсказок, без необходимости явно устанавливать стиль для каждого элемента управления.Возможно ли это?
В примере ниже, только последний TextBlock использует стиль.Я хотел бы сделать это, как в первом TextBlock.

<Window x:Class="TooltipResources.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Title="MainWindow" Height="450" Width="800">
<Window.Resources>
    <Style TargetType="{x:Type ToolTip}" x:Key="ToolTipStyle">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ToolTip}">
                    <Border BorderBrush="Gray" BorderThickness="1" CornerRadius="2" Background="PaleGoldenrod" >
                        <ContentPresenter Margin="7" HorizontalAlignment="Center" VerticalAlignment="Top" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>
<Grid>
    <StackPanel>
        <TextBlock Text="This text has implicit style." Margin="10" ToolTip="This should have PaleGoldenrod background"/>
        <TextBlock Text="This text has implicit style 2." Margin="10">
            <TextBlock.ToolTip>
                <ToolTip>This should have PaleGoldenrod background</ToolTip>
            </TextBlock.ToolTip>
        </TextBlock>
        <TextBlock Text="This text has explicit style" Margin="10">
            <TextBlock.ToolTip>
                <ToolTip Style="{StaticResource ToolTipStyle}">This should have PaleGoldenrod background</ToolTip>
            </TextBlock.ToolTip>
        </TextBlock>
    </StackPanel>
</Grid>

1 Ответ

0 голосов
/ 22 января 2019

Удалить x: Key = "ToolTipStyle" и Style = "{StaticResource ToolTipStyle}". Когда вы определяете ключ x: он не позволяет стилю влиять на все целевые элементы управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...