C# 设置WPF';s Textblock.Text属性引发NullReferenceException

C# 设置WPF';s Textblock.Text属性引发NullReferenceException,c#,wpf,text,textblock,C#,Wpf,Text,Textblock,这是我的代码,它没有显示任何错误。 但是当我运行它时,我得到一个NullReferenceException textBlock.Text = "Text"; 此语句位于滑块的ValueChanged事件中,如果有关系的话。我假设此代码在构造函数中。执行此行之前,请确保调用了InitializeComponents: Object reference not set to an instance of an object. publicYourWindow() { TextBlock.Tex

这是我的代码,它没有显示任何错误。 但是当我运行它时,我得到一个
NullReferenceException

textBlock.Text = "Text";

此语句位于滑块的ValueChanged事件中,如果有关系的话。

我假设此代码在构造函数中。执行此行之前,请确保调用了
InitializeComponents

Object reference not set to an instance of an object.
publicYourWindow()
{

TextBlock.Text=“Text”//如果这是在编译时,甚至不是在运行时,那么您对TextBlock对象的引用似乎不正确

这就是你的密码吗? 在XAML中尝试以下操作:

public YourWindow()
{
    TextBlock.Text = "Text"; // <- bad
    InitializeComponents();
    TextBlock.Text = "Text"; // <- good
}

如果文本块定义不是此
,则程序根本无法编译

但是如果是这样的话,那么只需确保在访问任何孩子之前执行窗口构造函数中的
InitializeComponent()

在InitializeComponent()调用中已经发生了“valuechanged”事件。 因此,您可能需要在算法中检查textbox==null(如果这是真的,请不要做任何事情!)


有同样的问题,但是已经打开了这个线程,所以..已经晚了,但希望它能很快帮助其他人:)

NullReferenceException发生在运行时,而不是编译时。在您的cs文件中,您在哪里设置.Text属性?可能还没有创建实例。@billb它在带有XAML和一切。我确信这些信息绝对不足以提出一些解决方案。如果我没有错,您正在尝试这样做。TextBlock TextBlock=null;TextBlock.Text=“Text”;@bathineni我真的说了所有的话。:请用这行代码的一点上下文更新你的问题。我不知道你在哪里执行它。我编辑了这个问题。(“我在一个滑块中写这个。”)@Ken:没有XAML定义TextBlock。你能告诉我怎么做吗?我不太明白。对不起。(我刚开始用WPF做某事,只是C#的初学者,很抱歉这么愚蠢)@Ken:你是如何声明
TextBlock
变量的?你是如何将它放入表单的?
<TextBlock x:Name="myTextBlock" />
myTextBlock.Text = "Text";