Wpf工具提示样式

时间:2013-11-22 06:32:47

标签: wpf styles tooltip togglebutton

我有一个ToggleButtonToolTipToolTip的内容与Text属性绑定。现在我需要在ToolTip内设置ToggleButton的样式。我知道它不允许我在ToggleButton ToolTip内使用样式而且我不知道该怎么做?任何建议都非常感谢。

这是我的代码看起来

<ToggleButton x:Name="btn" ToolTip="{Binding ElementName=tbText, Path=Text, Mode=TwoWay}" Margin="10,0,0,20" Style="{StaticResource bubbleStyle}" />          

3 个答案:

答案 0 :(得分:9)

如果我理解您的问题,您需要在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 :(得分: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>

答案 2 :(得分:0)

您可以设置内联样式,也可以使用Type在Windows资源中创建。在类型中你必须指定ToggleButton。

内联 -

  <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>