J'ai une série de UserControls WPF dans une seule bibliothèque de classes. Il y a plusieurs niveaux aux contrôles et le plus haut niveau utilisera plusieurs contrôles de niveau inférieur. Certains contrôles de bas niveau importent des classes à partir d'autres DLL externes, puis utilisent ces classes dans les propriétés du contrôle. Le problème est que lorsque j'essaie de placer un de ces contrôles de niveau inférieur dans un contrôle de niveau supérieur, ils se trompent lorsqu'ils essayent de rendre dans le concepteur, indiquant qu'il ne peut pas trouver les assemblys de classe utilisés pour les propriétés. Ils fonctionneront bien s'ils sont déposés sur la fenêtre principale d'un exécutable et fonctionnent parfaitement en mode exécution, mais pas dans le concepteur. Pas la fin du monde ... mais une douleur royale.Le contrôle utilisateur WPF ne trouve pas d'assembly pendant la conception
Par exemple rapide:
using MyClassLibrary;
public partial class MyControl : UserControl
{
public MyControl {}
public MyClass ClassInstance { get; set; }
}
Le code ci-dessus rendrait bien dans le concepteur lui-même, mais pas quand je tente d'utiliser ce contrôle à l'intérieur d'un autre contrôle de l'utilisateur. Je sais aussi que le même problème peut résulter des classes externes utilisées dans le constructeur, OnLoaded, etc (tout ce qui est exécuté par le concepteur) mais les avons déjà corrigées en vérifiant s'il est en mode Design et en désactivant ce code. C'est juste que je ne peux pas comprendre comment ne pas traiter les propriétés du contrôle.
Des idées?
J'ai un projet de test dans lequel le concepteur WPF ne parvient pas à reconnaître un assembly qui utilise une DLL externe (non gérée), mais si je référence l'assembly dans le code, l'application fonctionne correctement à l'exécution. Je poserai ma question (similaire) et vous ferai savoir si j'obtiens une réponse qui pourrait vous être utile. –