Wpf工具提示样式

问题描述 投票:8回答:3

我有一个ToggleButtonToolTipToolTip的内容与Text属性绑定。现在,我需要在ToolTip中设置我的ToggleButton的样式。我知道它不允许我在ToggleButton中将样式应用于ToolTip,而且我不知道该怎么做。

这是我的代码的样子:

<ToggleButton
    x:Name="btn"
    Margin="10,0,0,20"
    Style="{StaticResource bubbleStyle}"
    ToolTip="{Binding ElementName=tbText, Path=Text, Mode=TwoWay}" />  
wpf styles tooltip togglebutton
3个回答
12
投票

如果我正确理解了您的问题,您想在ToolTip中定义ToggleButton的样式。

尝试一下:

<ToggleButton Content="ON" Grid.Row="1" ToolTip="{Binding ElementName=tbText, Path=Text}">
    <ToggleButton.Resources>
        <Style TargetType="ToolTip" BasedOn="{StaticResource {x:Type ToolTip}}">
            <Setter Property="Background" Value="Red" />
        </Style>
    </ToggleButton.Resources>
</ToggleButton>

1
投票

您可以设置样式内联或可以在Windows资源中使用Type创建。在类型中,您必须分配ToggleButton。

Inline-

  <ToggleButton  >
   <ToggleButton.ToolTip>
    <ToolTip>
        <StackPanel>
            <TextBlock FontWeight="Bold">TEXT HERE</TextBlock>
            <TextBlock>SECOND TEXT HERE.</TextBlock>
        </StackPanel>
    </ToolTip>
</ToggleButton.ToolTip>

在窗口资源中(由@aDoubleSo描述)

<Window.Resources>
  <Style x:Key="{x:Type ToolTip}" TargetType="ToolTip">
  <Setter Property="OverridesDefaultStyle" Value="true" />
  <Setter Property="HasDropShadow" Value="True" />
 </Style>
<Window.Resources>

0
投票

您必须声明样式,控件的所有工具提示都将以这种样式显示。

<Window.Resources>
  <Style x:Key="{x:Type ToolTip}" TargetType="ToolTip">
      <Setter Property="OverridesDefaultStyle" Value="true" />
      <Setter Property="HasDropShadow" Value="True" />
      <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ToolTip">
              <!-- define your control template -->
            </ControlTemplate>
        </Setter.Value>
      </Setter>
  </Style>
<Window.Resources>
© www.soinside.com 2019 - 2024. All rights reserved.