2015-09-12 2 views
1

У меня есть приложение WPF, и я вдруг получаю ошибкуЗначение не может быть нулевым. Имя параметра: hostNameOrAddress

Значение не может быть пустым. Имя параметра: hostNameOrAddress

С этой ошибкой программа все равно будет работать. Когда я удаляю datacontext из окна, эта ошибка исчезает. В этом окне мой datacontext - это мой MainViewModel. Я попытался удалить MainViewModel из сборки и добавить его обратно в мышление, которое может решить проблему, но безрезультатно. У кого-нибудь есть мысли о том, почему это может произойти. Примечание. Я использую 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

Показать конструктор 'MainViewModel'. –

+0

Я сомневаюсь, что это многое покажет, он сказал, что удаление модели просмотра из сборки не исправляет ее. Звучит для меня как ошибка конфигурации или что-то во внешней lib. –

ответ

1

Я использовал присоединяемое свойство для вызова метода в моей модели представления, когда мое окно было загружено

helper:MvvmBehaviors.LoadedMethodName="OnWindowLoaded" 

Я не понимаю, что это в то время, но проблема была я звоню сервис от метода, и это ломало конструктора. Чтобы исправить эту проблему, я ввел условие guard в методе OnWindowLoaded, чтобы устранить проблему.

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