Le type ‘UserControl’ ne prend pas en charge le contenu direct

J’ai un projet de complément VSTO Outlook 2013 et 2016 et j’essaie d’append un contrôle utilisateur WPF à un volet de tâches personnalisé, comme décrit ici .

Le problème que j’ai est lorsque j’ajoute le contrôle utilisateur (WPF), il me génère un contrôle WPF avec une grid, mais génère automatiquement une erreur de “Le type ‘UserControl’ ne prend pas en charge le contenu direct”.

WPF généré:

    

Je sais que par le passé, j’ai dû append le type de projet WPF au fichier .proj pour faire fonctionner certaines choses, mais cela n’a pas fait de différence (en fait, il ne serait même pas chargé dans un certain ordre).

Original:

 {BAA0C2D2-18E2-41B9-852F-F413020CAA33};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 

Crashes:

 {BAA0C2D2-18E2-41B9-852F-F413020CAA33};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 

Ne plante pas, mais ne corrige pas l’erreur:

 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{BAA0C2D2-18E2-41B9-852F-F413020CAA33};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 

Est-ce que quelqu’un peut-il me montrer la bonne direction?

METTRE À JOUR

J’ai essayé de créer un nouveau projet de bibliothèque de classes directement depuis la boîte, ajouté un contrôle utilisateur WPF, puis ajouté la référence à System.Xaml et j’ai le même problème.

Pour quiconque ayant ce problème sur Visual Studio 2015, essayez d’append (s’il n’est pas déjà ajouté) la référence System.Xaml à votre projet. Visual Studio ne parvient tout simplement pas à afficher l’erreur de référence.

Ajoutez des références System.Xaml et UIAutomationProvider à votre projet, après cette solution claire, puis UIAutomationProvider à nouveau

Ajoutez les références System.Xaml et UIAutomationProvider , puis redémarrez Visual Studio pour résoudre les problèmes.

Dans VS2017 (15.3.5), ce problème se produit si le UserControl / Window de base de UserControl que vous éditez se trouve dans la même bibliothèque / exe. Après avoir démarré VS, ça va pour quelques minutes, puis quelque chose en arrière-plan et tout le fichier XAML est bleu. Comstackz et ça s’en va, commencez à taper et c’est instantanément de retour. Intellisense fonctionne toujours, mais rend l’éditeur XAML presque inutilisable.

La seule façon de résoudre ce problème est de déplacer les classes de base dans une autre bibliothèque.

Supprimez simplement System.Xaml , puis rajoutez-le.

Il semble donc que les journaux de codage se soient déroulés du jour au lendemain car cela semble fonctionner parfaitement sans que je n’aie rien changé, très étrange, mais au moins je peux continuer maintenant!

Outre l’ajout de références déjà indiquées, j’ai dû fermer et rouvrir la solution. Si cela ne résout pas le problème, redémarrez Visual Studio.

Essayez d’exposer une nouvelle propriété de contenu comme l’exemple et d’utiliser ContentPropertyAtsortingbute dans la classe. Pour moi ça m’a aidé. J’ai eu le problème dans VS 2017.

 [ContentProperty( "Content" )] public class MyUserControl: UserControl { public new Object Content { get => base.Content; set => base.Content = value; } ... }