2015-05-07 46 views
1

我在我的應用程序中使用Mahapps.Metro。 我創建了一個自定義口音資源字典 [根據this tutorial]和每件事情都很好,但我不能更改我的應用程序中全局元素的邊框顏色WPF MahApp.Metro,更改全局UI控件的邊框顏色

我添加以下自定義資源(BorderBrush)我定製口音資源字典但它不能改變anythings:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

    ............... OTHER RESOURCES .............. 

    <Color x:Key="BorderColor">#666</Color> 
    <SolidColorBrush x:Key="BorderBrush" Color="{StaticResource BorderColor}"/> 

</ResourceDictionary> 

例如,我想改變這一切的按鈕的邊框顏色...

我該怎麼做?

回答

0

您應該繼承基礎樣式並進行更改。

Samles

<Color x:Key="CustomBorderColor">#666</Color> 
<SolidColorBrush x:Key="CustomBorderBrush" Color="{StaticResource CustomBorderColor}"/> 

<Style x:Key="CustomMetroCircleButtonStyle" 
     TargetType="{x:Type Button}" 
     BasedOn="{StaticResource MetroCircleButtonStyle}"> 
    <Setter Property="BorderBrush" Value="{DynamicResource CustomBorderBrush}" /> 
</Style> 

<!-- or --> 

<Style x:Key="CustomMetroButton" 
     TargetType="{x:Type Button}" 
     BasedOn="{StaticResource MetroButton}"> 
    <Setter Property="BorderBrush" Value="{DynamicResource CustomBorderBrush}" /> 
</Style> 

<!-- or --> 

<Style x:Key="CustomToggleButton" 
     TargetType="{x:Type Button}" 
     BasedOn="{StaticResource ToggleButton}"> 
    <Setter Property="BorderBrush" Value="{DynamicResource CustomBorderBrush}" /> 
</Style> 

<!-- usage --> 

<Style TargetType="Button" BasedOn="{DynamicResource CustomMetroCircleButtonStyle}" /> 
<!-- or --> 
<Style TargetType="Button" BasedOn="{DynamicResource CustomMetroButton}" /> 
<!-- or --> 
<Style TargetType="Button" BasedOn="{DynamicResource CustomToggleButton}" /> 

等等

希望幫助!