我有一个ToggleButton
和ToolTip
,ToolTip
的内容与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}" />
如果我正确理解了您的问题,您想在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>
您可以设置样式内联或可以在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>
您必须声明样式,控件的所有工具提示都将以这种样式显示。
<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>