wpf 出现错误 System.NullReferenceException:“未将对象引用设置到对象的实例“
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf 出现错误 System.NullReferenceException:“未将对象引用设置到对象的实例“相关的知识,希望对你有一定的参考价值。
点击按钮,实现 contentControl.Content = new userControl();usercontrol是我写的控件,一开始能用。然后我调整了一下其中组件的位置,给按钮写了几个方法,然后就突然报错了,为什么?
就是没有给对象变量赋值,这个变量还保持在null值上。你看一下你的变量是不是初始化了。或是不是关联到其它实例上了。 参考技术A 引用设置到
WPF DataBinding:Nullable Int 仍然出现验证错误?
【中文标题】WPF DataBinding:Nullable Int 仍然出现验证错误?【英文标题】:WPF DataBinding: Nullable Int still gets a validation error? 【发布时间】:2011-03-19 03:45:16 【问题描述】:我有一个文本框数据通过代码绑定到一个可为空的 int。如果我从文本框中删除数据,它会给我一个验证错误(它周围的红色边框)。
这是我的绑定代码:
ZipBinding = new Binding("Zip");
ZipBinding.Source = Address;
zipTextBox.SetBinding(TextBox.TextProperty, ZipBinding);
public Int32? Zip get ... set ...
它被明确标记为 Nullable 那么为什么当我清除文本框时 WPF 想要给我一个验证问题?
【问题讨论】:
【参考方案1】:验证失败,因为它无法将空字符串转换为可为空的整数。在 Binding 上将TargetNullValue 设置为 string.empty,它将把空字符串转换为 null,这将是有效的。
【讨论】:
效果很好!请参阅此答案以了解如何在 XAML ***.com/a/1895482/83111 中执行此操作 不要将其设置为 String.Empty,因为这样您会在模型中的空值字段中看到文本“String.Empty”。请改用空字符串。示例:<TextBox Text="Binding MyNumericProperty, TargetNullValue=''" />
@Beauty 您可以将其设置为 string.Empty:<TextBox Text="Binding MyNumericProperty, TargetNullValue=x:Static system:String.Empty" />
(包括 UserControl 标题处的系统:xmlns:system="clr-namespace:System;assembly=mscorlib"
)。这与将其设置为值为“string.Empty”的字符串不同......就像有人告诉您将字符串设置为空时,您不要这样做username = "null";
。【参考方案2】:
一个空的文本框!= null。
您可能需要调整 ValidationRule 以容纳空字符串作为条目。或者,您可以创建一个转换器来获取空字符串并将它们转换为 null。
【讨论】:
所以它失败了,因为它试图将 String.Empty 解析为 Int32? ...如果是这样的话,是的,我想我必须创建一个 StringEmpty 到 Null 转换器。以上是关于wpf 出现错误 System.NullReferenceException:“未将对象引用设置到对象的实例“的主要内容,如果未能解决你的问题,请参考以下文章
开机出现加载DLL文件错误!文件名为wpf5kwe.dll 请大虾帮我!我会加高分的!
我用c#wpf做的 菜单,Command和键盘事件,出现这个错误,有没有大神知道这个错误怎样解
当我尝试使用 MVVM WPF 中的命令修改对象时,为啥在视图模型中出现空错误?
wpf 出现错误 System.NullReferenceException:“未将对象引用设置到对象的实例“