-2

I am looking for something to set the BorderBrush Color of a Button inside my Mahapps Metro Window when i tabbing with my Keyboard, but I cannot find something. Is there a way to set a new color for the border?

DirtyNative
  • 2,553
  • 2
  • 33
  • 58

2 Answers2

0

You can create a style that overrides the default template, you can replace the colors with whatever you like and add more triggers if desired:

<Style TargetType="Button" x:Key="DefaultButtonStyle">
    <Setter Property="BorderBrush" Value="Transparent"/>
    <Setter Property="Background" Value="#3a3a3a"/>
    <Setter Property="Cursor" Value="Hand"/>
    <Setter Property="metro:ButtonHelper.PreserveTextCase" Value="True"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Border Background="{TemplateBinding Background}" 
                        BorderBrush="{TemplateBinding BorderBrush}" 
                        BorderThickness="{TemplateBinding BorderThickness}"
                        Padding="{TemplateBinding Padding}"
                        Margin="{TemplateBinding Margin}">
                    <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="#424242"/>
        </Trigger>
    </Style.Triggers>
</Style>
Aleksandr Albert
  • 1,777
  • 1
  • 19
  • 26
0

Alright, so i made it with Aleksandr Albert answer. All i missed was the property IsFocused

<Style x:Key="ButtonMentorPlusStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource AccentedSquareButtonStyle}">
    <Setter Property="Foreground" Value="White" />
    <Setter Property="Background" Value="#0D6373" />
    <Setter Property="FontSize" Value="14" />
    <Setter Property="FontFamily" Value="Arial" />
    <Setter Property="FontStyle" Value="Normal" />
    <Setter Property="MinWidth" Value="100" />
    <Setter Property="MinHeight" Value="28" />
    <Setter Property="Controls:ButtonHelper.PreserveTextCase" Value="True" />
    <Setter Property="Padding" Value="10, 0, 10, 0" />
    <Setter Property="VerticalContentAlignment" Value="Center" />

    <Style.Triggers>
        <Trigger Property="IsFocused" Value="True">
            <Setter Property="BorderBrush" Value="White" />
        </Trigger>
    </Style.Triggers>

</Style>

Thank you guys

DirtyNative
  • 2,553
  • 2
  • 33
  • 58