我有一些切换按钮,可以控制一些选项卡的可见性。这些按钮的样式是按下时变蓝,未按下时变灰。问题在于,当一个切换按钮被按下,然后另一个切换按钮被按下时,第一个切换按钮会变回灰色,但有蓝色的轮廓。如果选择其他控件(不是其中之一的切换按钮),则按钮将变为灰色而无需蓝色轮廓。我不想要蓝色轮廓。
我的样式是:
<Style x:Key="TabToggleButtonStyle" TargetType="{x:Type ToggleButton}">
<Setter Property="Background" Value="lightGray"/>
<Setter Property="Margin" Value="3" />
<Setter Property="Padding" Value="7,2,7,2" />
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="#FF41B8F2" />
</Trigger>
</Style.Triggers>
</Style>
这些开关:
<DockPanel LastChildFill="False">
<ToggleButton
DockPanel.Dock="Right"
Style="{StaticResource TabToggleButtonStyle}"
Click="BtnOneClick"
IsChecked="{Binding ElementName=_mainTabControl, Path=BtnOneTab.IsSelected}"
Content="Agent Info"/>
<ToggleButton
DockPanel.Dock="Right"
Style="{StaticResource TabToggleButtonStyle}"
Click="BtnTwoClick"
IsChecked="{Binding ElementName=_mainTabControl, Path=BtnTwoTab.IsSelected}"
Content="Help"/>
</DockPanel>
点击命令会在选项卡上设置
IsSelected = true
。
<Setter Property="Background" TargetName="Chrome" Value="#FF41B8F2" />
添加到<ControlTemplate.Triggers>
的IsChecked触发器后,一切都运行良好。谢谢 :) - nashxmlns:MS_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
-- Expression Blend会自动为您完成此操作)。 - BrainSlugs83