值不能为空。参数名称:hostNameOrAddress
Value cannot be null. Parameter name: hostNameOrAddress
我有一个 WPF 应用程序,但突然收到错误
Value cannot be null. Parameter name: hostNameOrAddress
由于此错误,程序仍将 运行。当我从 window 中删除数据上下文时,此错误消失。在此 window 中,我的数据上下文是我的 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>
当我的 window 被加载时,我正在使用附加的 属性 在我的视图模型中调用一个方法
helper:MvvmBehaviors.LoadedMethodName="OnWindowLoaded"
我当时没有意识到这一点,但问题是我从方法中调用了一个服务,它破坏了设计器。为了解决这个问题,我在 OnWindowLoaded 方法中插入了一个保护子句来解决这个问题。
if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject())) return;
我有一个 WPF 应用程序,但突然收到错误
Value cannot be null. Parameter name: hostNameOrAddress
由于此错误,程序仍将 运行。当我从 window 中删除数据上下文时,此错误消失。在此 window 中,我的数据上下文是我的 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>
当我的 window 被加载时,我正在使用附加的 属性 在我的视图模型中调用一个方法
helper:MvvmBehaviors.LoadedMethodName="OnWindowLoaded"
我当时没有意识到这一点,但问题是我从方法中调用了一个服务,它破坏了设计器。为了解决这个问题,我在 OnWindowLoaded 方法中插入了一个保护子句来解决这个问题。
if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject())) return;