2015-09-12 4 views
1

J'ai une application WPF et je reçois tout à coup l'erreurLa valeur ne peut pas être nulle. Nom du paramètre: hostNameOrAddress

valeur ne peut être nulle. Nom du paramètre: hostNameOrAddress

Avec cette erreur, le programme s'exécutera toujours. Lorsque je supprime le datacontext de la fenêtre, cette erreur disparaît. Dans cette fenêtre mon datacontext est mon MainViewModel. J'ai essayé de retirer le MainViewModel de l'assemblée et de l'ajouter en pensant que cela pourrait résoudre le problème mais en vain. Quelqu'un at-il des idées sur la raison pour laquelle cela pourrait se produire. Note: J'utilise MahApps.Metro.

<controls:MetroWindow x:Class="DatalogConversion.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
    xmlns:local="clr-namespace:DatalogConversion"  
    xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls" 
    xmlns:helper="clr-namespace:DatalogConversion.Helper"  
    Height="auto" 
    Width="325"   
    SizeToContent="Height">  


<controls:MetroWindow.DataContext> 
    <local:MainViewModel/> 
</controls:MetroWindow.DataContext> 
+1

Afficher le constructeur de 'MainViewModel'. –

+0

Je doute que cela révélera beaucoup, il a dit que le retrait du modèle de vue de l'assemblée ne le fixe pas. Cela me semble être une erreur de configuration ou quelque chose dans une bibliothèque externe. –

Répondre

1

j'utilisais une propriété attachée à appeler une méthode dans mon modèle de vue quand ma fenêtre a été chargée

helper:MvvmBehaviors.LoadedMethodName="OnWindowLoaded" 

Je ne savais pas cela à l'époque, mais le problème était que j'appelle une service de la méthode et c'était briser le concepteur. Pour résoudre le problème, j'ai inséré une clause de garde dans la méthode OnWindowLoaded pour résoudre le problème.

if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject())) return;