MahApps.Metro 更改 ToggleSwitch 样式



我正在使用MahApp.Metro测试wpf应用程序。不知何故,我无法更改切换开关的样式。我只想更改简单的属性,例如开关的前景或背景。我做错了什么?

Mainwindow.xaml

<Style  x:Key="flyoutToggleSwitchStyle" TargetType="{x:Type Controls:ToggleSwitch}" BasedOn="{StaticResource {x:Type Controls:ToggleSwitch}}">
        <Setter Property="BorderBrush" Value="WhiteSmoke"/>
        <Setter Property="Background" Value="White"/>    
        <Setter Property="Foreground" Value="Yellow"/>
        <Setter Property="OnLabel" Value="Yes"/>  <!--<<<---THIS WORKS!!-->
        <Setter Property="OffLabel" Value="No"/>
    </Style>
<Controls:ToggleSwitch Style="{StaticResource flyoutToggleSwitchStyle}">
    <Controls:ToggleSwitch.Header>
           <TextBlock>
                    Test                            
           </TextBlock>
     </Controls:ToggleSwitch.Header>
 </Controls:ToggleSwitch>

现在有一个名为 SwitchForeground 的新 ToggleSwitch 属性,它允许更改ON位置的颜色(在 v0.14 上测试(。例:

<controls:ToggleSwitch SwitchForeground="{StaticResource MyGreen}" />

问题是在 Mahapps.Metro ToggleSwitch 中,大多数属性无法在样式中更改,因为在原始模板定义中没有定义 TemplateBinding 或 Key。
因此,样式只能通过创建新模板来更改。为此,必须更改 ToggleSwitch 和 ToggleSwitchButton 模板。

GitHub
上的问题模板的来源

相关内容

  • 没有找到相关文章

最新更新