我正在维护一个传统的WPF应用程序,而且我是WPF的新手,所以要温和:)在window标签上我有以下属性:
WindowState="{Binding Source={x:Static gui:GlobalWindowState.Instance}, Path=Maximized, Converter={StaticResource WindowStateConverter}}"
当XAML打开时,我看到错误:
"值不能为空。参数名称容器"
代码编译并执行正常,错误仅在Xaml打开时显示。但看到这个错误真的困扰我。
谷歌没有多大帮助。我猜大多数人都会忽略它。public object Convert(object value, Type targetType, object parameter, CultureInfo culture){
答案 0 :(得分:2)
我建议,如果您正在使用MVVM设计模式并且您有一个可用于此XAML代码的视图模型,则将WindowState绑定到视图模型的属性,并编写此属性以输出值它需要的。 有一些方法可以在view-model属性中确定它是在设计时(即在Visual Studio或Blend中显示)还是在运行时运行。因此,您可以轻松控制XAML在运行时和设计器(Visual Studio)中的显示方式。 在您的属性中,您将显式检查空值以清除此错误。并且,您可以添加日志记录语句来调查实际操作。