textBlock.Text = "Text";
这是我的代码,它没有显示任何错误。
但是当我运行它时,我得到一个NullReferenceException
Object reference not set to an instance of an object.
此语句位于Slider的ValueChanged事件中,如果重要的话。
答案 0 :(得分:6)
我假设此代码在您的构造函数中。确保在执行此行之前调用InitializeComponents
:
public YourWindow()
{
TextBlock.Text = "Text"; // <- bad
InitializeComponents();
TextBlock.Text = "Text"; // <- good
}
答案 1 :(得分:1)
如果这是在编译时,甚至在运行时,似乎你对Textblock对象的引用不对。
这完全是你的代码吗? 在您的XAML中尝试以下内容:
<TextBlock x:Name="myTextBlock" />
在您的CS档案中:
myTextBlock.Text = "Text";
答案 2 :(得分:0)
如果您的TextBlock定义不是此<TextBlock x:Name="TextBlock"/>
,那么您的程序根本不会编译。
但如果是这样,那么只需确保在访问任何子项之前执行窗口构造函数中的InitializeComponent()
。
答案 3 :(得分:0)
“valuechanged”事件已在InitializeComponent()调用中发生。 那么你在算法中可能需要做的就是检查文本框是否== null(如果这是真的,不要做任何事情!)。
有同样的问题,但是已经打开了这个线程......现在已经很晚了,但希望它能很快帮助别人:)