如何使用流畅的设计,仍然支持较旧的Windows 10版本

时间:2017-10-15 08:31:19

标签: uwp uwp-xaml fluent-design

我想在可能的情况下在我的自定义控件中使用流畅的设计,并且仍然支持旧系统。我该怎么做呢?这需要我更改现有的XAML文件,当我这样做时,它将无法在旧版本的Windows中运行。

1 个答案:

答案 0 :(得分:2)

我已经解决了这个问题。我在App构造函数中添加了这个以添加一些全局resource qualifiers

if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
{
    ResourceContext.SetGlobalQualifierValue("Custom", "Fluent");
}

然后我创建了两个不同的资源字典,一个用于流利,一个用于流畅的XAML。这些文件的名称如下:

MyResourceDictionary.xaml
MyResourceDictionary.Custom-Fluent.xaml

你可以做很多事情。但据我所知,即使使用conditional XAML,也无法基于AcrylicBrush等新类型创建自定义资源(至少如果您想在创建者更新之前支持版本,则不会这样)。相反,我正在使用这样的现有资源:

<StaticResource x:Key="MyCustomBrush" 
                ResourceKey="SystemControlAcrylicElementBrush" />