Question

Je travaille sur une application de métro en utilisant XAML & C #. J'ai commencé à utiliser WPF dans Win7. J'ai créé une classe de base, héritant de UserControl, puis j'ai essayé de mettre cela dans mon XAML.

Dans Windows 7, cela a très bien fonctionné:

<MyType:AnImplementation
 ...
 xmlns:MyType="clr-namespace:MyAppNamespace"
/>

J'ai essayé la même chose dans Win8, mais malheureusement, j'obtiens des erreurs -

<MyType:AnImplementation
 ...
 xmlns:MyType="using:MyAppNamespace"
/>

Produit maintenant ceci: la tâche compilexaml a échoué de manière inattendue. Puis une exception de référence nulle.

Je ne suis pas WPF Whiz, donc je fais peut-être complètement mal - j'ai récemment commencé à y entrer, mais j'ai du mal à isoler ce problème. Est-ce une sorte de problème de poulet / œuf, ou existe-t-il une façon différente de créer des commandes d'utilisateurs personnalisées dans Win8 XAML?

Éditer: Je pensais qu'il peut être utile d'être plus clair. Je n'ai pas de mal à créer des contrôles des utilisateurs, j'ai du mal UserControl. Par exemple:

Une classe de base, nous appellerons MyBasetype, qui hérite de UserControl et a des méthodes virtuelles:

public class MyBaseType : UserControl
{
    public MyBaseType() : base() {}
}

Une nouvelle userControl, appelée Actiontile:

public partial class ActionTile : MyBaseType {}

Quand j'ai mis ça dans mon xaml:

<myType:MyBaseType
    ... (other XAML imports)
    xmlns:myType="using:MyNamespace"/>

Le compilateur explose.

Si vous souhaitez vous reproduire, créez une classe de base héritée de UserControl, Implémentez ensuite un contrôle héritant de la classe de base et essayez de créer un nouveau UserControl de ce nouveau type. Comme je l'ai dit, fonctionne bien dans WPF sur Windows 7.

Pas de solution correcte

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