Question

How can I change the background of a MetroWindow?

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
                xmlns:Behaviours="clr-namespace:MahApps.Metro.Behaviours"
                xmlns:Converters="clr-namespace:MahApps.Metro.Converters"
                xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

<Style  BasedOn="{StaticResource {x:Type Controls:MetroWindow}}" TargetType="Controls:MetroWindow">
    <Setter Property="Background" Value="LightGray" />
    <Setter Property="BorderBrush" Value="#FFB9B9B9" />
    <Setter Property="BorderThickness" Value="0,1,0,0" />
</Style>

Was it helpful?

Solution

create a style with a key (and put the style in your App.xaml or in a resource dictionary and put this in your App.xaml)

<Style x:Key="CustomMetroWindowStyle" TargetType="{x:Type Controls:MetroWindow}">
  <Setter Property="Background"
          Value="LightGray" />
  <Setter Property="BorderBrush"
          Value="#FFB9B9B9" />
  <Setter Property="BorderThickness"
          Value="0,1,0,0" />
</Style>

and use it like this

<Controls:MetroWindow x:Class="MetroDemo.MainWindow"
                      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                      Style="{DynamicResource CustomMetroWindowStyle}">
</Controls:MetroWindow>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top