Je reçois une exception XamlParseException vraiment étrange, et je ne sais pas pourquoi.Caliburn.Micro question: XamlParseException "Impossible de définir un membre inconnu '{clr-namespace: Caliburn.Micro; assembly = Caliburn.Micro} View.Model'"
Le message est "Impossible de définir un membre inconnu '{clr-namespace: Caliburn.Micro; assembly = Caliburn.Micro} View.Model'."
Dans le modèle de vue, je ObservableCollection que je suis dans le constructeur d'initialisation comme celui-ci:
internal class EntityListScreenViewModel : Screen
{
public EntityListScreenViewModel()
{
var list = new List<Entity>() { new Entity() { Name = "Joe" } };
this.Entities = new ObservableCollection<Entity>(list);
}
public ObservableCollection<Entity> Entities { get; set; }
}
Voici la vue:
<Window x:Class="WpfApp.EntityListScreenView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="350" Width="525">
<Grid>
<ListBox x:Name="Entities"/>
</Grid>
</Window>
Quand j'appelle WindowManager.ShowWindow() Sur une instance de EntityListScreenViewModel, j'obtiens l'exception.
Si je ne suis pas ajouter une entité à la liste (en utilisant à la place var list = new List<Entity>();
), je ne reçois pas l'exception.
Quelqu'un a-t-il des idées?
Mise à jour:
J'ai essayé de changer le ObservableCollection être de type string et ajouté une seule chaîne, et je n'ai pas l'exception. Mon soupçon est que Caliburn.Micro est en quelque sorte à la recherche d'une vue pour représenter l'Entité dans le ListBox. Cela pourrait-il être ce qui se passe?
Mise à jour 2:
J'ai finalement compris ce qui se passait vraiment ... la DefaultItemTemplate dans le ConventionManager avait une Xaml analysable cherchait l'assemblée « Caliburn.Micro », mais j'avais mis le code avec un autre assembly. Changé le Xaml et le problème est parti.
Merci pour l'aide Joe! En fait, j'ai réalisé que le bug était dû à un mauvais nom de l'assemblage: voir la dernière mise à jour de la question. –