Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加自己的';口音';在运行时使用Mahapps.Metro_C#_Wpf_Xaml_Mahapps.metro - Fatal编程技术网

C# 添加自己的';口音';在运行时使用Mahapps.Metro

C# 添加自己的';口音';在运行时使用Mahapps.Metro,c#,wpf,xaml,mahapps.metro,C#,Wpf,Xaml,Mahapps.metro,我使用Mahapps.Metro已经有一段时间了,我喜欢它的颜色。但我刚才想到了一个主意,用户可以选择自己的颜色,并将其添加到MahApps.Metro.ThemeManager.DefaultAccents-列表中,然后使用它。但是我该怎么做呢?我知道ThemeManager有一个名为ChangeTheme的函数,它接受一个应用程序(目标应用程序)、一个重音和一个主题(暗或浅) 重音对象由一个名称和一个ResourceDictionary组成,看起来像 所以我想我可以创建一个自己的Resour

我使用Mahapps.Metro已经有一段时间了,我喜欢它的颜色。但我刚才想到了一个主意,用户可以选择自己的颜色,并将其添加到
MahApps.Metro.ThemeManager.DefaultAccents
-列表中,然后使用它。但是我该怎么做呢?我知道ThemeManager有一个名为
ChangeTheme
的函数,它接受一个应用程序(目标应用程序)、一个
重音和一个
主题(暗或浅)

重音对象由一个名称和一个ResourceDictionary组成,看起来像

所以我想我可以创建一个自己的ResourceDictionary,就像我链接的一样,允许用户更改颜色并命名它们。
但我如何在运行时创建resourcedictionary呢?

我在vb.net中这样做(带有两个主题复选框):

如果您只需要更改主题(暗或亮):

    Dim accent As MahApps.Metro.Accent = New MahApps.Metro.Accent("Green", New Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/Green.xaml", UriKind.RelativeOrAbsolute))
    Dim LightTheme As MahApps.Metro.AppTheme = New MahApps.Metro.AppTheme("BaseLight", New Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml", UriKind.RelativeOrAbsolute))
    Dim DarkTheme As MahApps.Metro.AppTheme = New MahApps.Metro.AppTheme("BaseDark", New Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml", UriKind.RelativeOrAbsolute))
    If Me.DarkThemeSelect_check.IsChecked = True Then
        ThemeManager.ChangeAppStyle(Application.Current, accent, DarkTheme)
    ElseIf Me.LightThemeSelect_check.IsChecked = True Then
        ThemeManager.ChangeAppStyle(Application.Current, accent, LightTheme)
    End If
    ThemeManager.ChangeAppTheme(Application.Current, "BaseLight")