Question

Est-il possible en XAML de déclarer un nom d'alias pour un type?

Laissez-moi vous expliquer avec un exemple. Compte tenu de ces déclarations de type ...

namespace Somewhere
{
    public class Blob { … }
    public class BlobCollection : List<Blob> {}  // "type alias" in C#
}

... ce qui suit (en abrégé) XAML doit être valide:

<BlobCollection xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns="clr-namespace:Somewhere;…">
  <Blob … />
  <Blob … />
</BlobCollection>

Je sais déjà que je peux définir quelque chose comme des alias de type par héritage (voir code commentaire ci-dessus). Supposons que voulait faire la même chose en XAML, comment aurais-je changer le XAML afin de pouvoir se référer à BlobCollection comme Blobs?

<Blobs xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns="clr-namespace:Somewhere;…">
  <Blob … />
  <Blob … />
</Blobs>
Était-ce utile?

La solution

Je ne sais pas si vous pouvez faire l'aliasing directement en XAML, mais il est plus facile d'utiliser le nom crénelage en XAML par le sous-classement simplement la collection en code (ou diable, renommer la classe de collection elle-même si elle ne sera pas négativement affecter le reste de votre code):

public class Blobs : BlobCollection {}

Il ne semble pas nécessaire d'avoir à faire cela, mais il est tout ce que je peux penser en ce moment.

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