Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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# UWP应用程序中的ColorPaletterSources API-如何通过代码而不仅仅是Xaml在应用程序资源中使用自己的颜色设置ColorPaletterSources?_C#_Xaml_Uwp_Colors - Fatal编程技术网

C# UWP应用程序中的ColorPaletterSources API-如何通过代码而不仅仅是Xaml在应用程序资源中使用自己的颜色设置ColorPaletterSources?

C# UWP应用程序中的ColorPaletterSources API-如何通过代码而不仅仅是Xaml在应用程序资源中使用自己的颜色设置ColorPaletterSources?,c#,xaml,uwp,colors,C#,Xaml,Uwp,Colors,我正在开发一个应用程序,目标是Win 10 1809及以上。 我注意到,从1809年开始,有一个名为ColorPaletterResources(它是从ResourceDictionary继承的一个类)的新API,可以在App.Xaml资源中轻松设置,以便定制应用程序的配色方案,甚至是强调色本身 现在,如果我像微软文档所说的那样使用它,即在XAML中 <Application.Resources> <ResourceDictionary> <

我正在开发一个应用程序,目标是Win 10 1809及以上。 我注意到,从1809年开始,有一个名为
ColorPaletterResources
(它是从
ResourceDictionary
继承的一个类)的新API,可以在App.Xaml资源中轻松设置,以便定制应用程序的配色方案,甚至是强调色本身

现在,如果我像微软文档所说的那样使用它,即在XAML中

<Application.Resources>
    <ResourceDictionary>

        <ResourceDictionary.MergedDictionaries>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
            <!-- Other merged dictionaries here -->

            <ColorPaletteResources Accent="Yellow" AltHigh="BlueViolet" AltLow="Coral" AltMedium="DarkKhaki" AltMediumHigh="Aqua" AltMediumLow="DarkGreen" BaseHigh="Red" BaseLow="Gainsboro">

            </ColorPaletteResources>
        </ResourceDictionary.MergedDictionaries>
        <!-- Other app resources here -->
    </ResourceDictionary>
</Application.Resources>
……什么也没发生

各位的问题:

1) 我在代码中定义
ColorPaletterSources
时是否做错了什么

2) 有没有更好的方法可以在不重新定义控件中的所有模板和样式的情况下更改重音和所有主要应用程序颜色(使用“SystemControl[…]笔刷的颜色)

感谢您的关注和耐心

致意

编辑:关于在XAML中使用这个新API,我尝试了设置了所有颜色字段的调色板。我刚刚复制了一段较早的代码,所以一些画笔上的指针仍然采用系统强调色的问题是真实的

编辑2:我发现通过代码在应用程序的资源中设置
colorpatteresources
在app.OnLaunched函数中有效,通常在每个页面的InitializeComponent函数之前有效。
知道这一点,我如何才能获得应用程序颜色的实时颜色?

你试过在app.xaml.cs上实现它吗?@Littledoe是的,我发现它在app.OnLaunched函数中有效,通常在任何页面的InalizalizeComponent之前有效。但这还不够,因为我想在live中更改应用程序的颜色。必须弄清楚如何使用这个东西,它只在网页初始化工作。。。有什么想法吗?请查看官方代码示例,您需要在添加
ColorPaletterSources
@NicoZhu MSFT后重新设置哪个代码示例?我在GitHub上找不到它。请检查链接。
        ColorPaletteResources palette = new ColorPaletteResources();
        palette.Accent = Colors.Red;

        App.Current.Resources.MergedDictionaries.Add(palette);