Je souhaite utiliser un design fluide dans mes commandes personnalisées lorsque cela est possible tout en prenant en charge les anciens systèmes. Comment puis-je faire cela? Cela m'oblige à changer mes fichiers XAML existants, et quand je le ferai, il ne fonctionnera pas dans les anciennes versions de Windows.Comment utiliser un design fluide tout en prenant en charge les anciennes versions de Windows 10
1
A
Répondre
1
Je l'ai résolu comme ça. J'ai ajouté ce dans l'App-constructeur d'ajouter une resource qualifiers globale:
if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
{
ResourceContext.SetGlobalQualifierValue("Custom", "Fluent");
}
Ensuite, je crée deux dictionnaires de ressources différentes, une pour fluide et un pour aucun XAML fluide. Les fichiers sont nommés comme ceci:
MyResourceDictionary.xaml
MyResourceDictionary.Custom-Fluent.xaml
Vous pouvez faire beaucoup avec cela. Mais à ma connaissance il n'est pas possible de créer des ressources personnalisées basées sur de nouveaux types comme AcrylicBrush, même avec conditional XAML (du moins pas si vous voulez supporter les versions avant la mise à jour des créateurs). Au lieu de cela, j'utilise des ressources existantes comme ceci:
<StaticResource x:Key="MyCustomBrush"
ResourceKey="SystemControlAcrylicElementBrush" />