Как использовать свободный дизайн и при этом поддерживать старые версии Windows 10
Я хочу использовать свободный дизайн в своих пользовательских элементах управления, когда это возможно, и при этом поддерживать старые системы. Как мне это сделать? Это требует, чтобы я изменил свои существующие XAML-файлы, и когда я это сделаю, он не будет работать в более старых версиях Windows.
1 ответ
Я решил это так. Я добавил это в конструктор приложений, чтобы добавить некоторые глобальные квалификаторы ресурсов:
if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
{
ResourceContext.SetGlobalQualifierValue("Custom", "Fluent");
}
Затем я создал два разных словаря ресурсов: один для свободного и один для свободного владения XAML. Файлы названы так:
MyResourceDictionary.xaml
MyResourceDictionary.Custom-Fluent.xaml
Вы можете сделать довольно много с этим. Но, насколько мне известно, невозможно создавать собственные ресурсы на основе новых типов, таких как AcrylicBrush, даже с условным XAML (по крайней мере, если вы хотите поддерживать версии до обновления создателей). Вместо этого я использую существующие ресурсы, как это:
<StaticResource x:Key="MyCustomBrush"
ResourceKey="SystemControlAcrylicElementBrush" />