Question

J'ai un ensemble de contrôles utilisateur qui doivent avoir quelques propriétés similaires. J'ai donc défini une sous-classe abstraite de UserControl qui définit ces propriétés et mis à jour les fichiers .xaml.cs et .g.cs pour hériter de cette classe de base. Tout se compile bien et fonctionne bien. Génial! Mais les fichiers .g.cs sont générés et seront régénérés. Comment dire à Blend ou à Visual Studio de continuer à hériter de ma classe de base plutôt que de UserControl?

Était-ce utile?

La solution

Vous devez changer un peu le code XAML pour préfixer la déclaration UserControl avec un espace de nom:

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

Où MyNameSpace est votre espace de noms (duh!), MyBaseControl est votre classe de base et MyControl est votre contrôle qui hérite de MyBaseControl. La partie x: Class n'a pas besoin d'être dans le même espace de noms, je l'ai simplement conservée pour l'exemple.

Plus d'infos ici et ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top