C# 标签内容中的NullReferenceException

C# 标签内容中的NullReferenceException,c#,wpf,C#,Wpf,当我试图改变lalbe的值时,它总是给我空值 这是我的 克马尔 我总是收到“System.NullReferenceException”错误您似乎在事件处理程序中调用代码(例如,单击按钮)。在这种情况下,发送方是按钮,因此as操作符将返回null 将名称添加到标签: <Label Name="myLabel" ... /> 顺便说一句:通常在WPF中,您不直接修改GUI,而是使用数据绑定如果发送方不是标签,则as返回null。你在哪个函数中调用代码?我在SpeechRecogni

当我试图改变lalbe的值时,它总是给我空值 这是我的 克马尔


我总是收到“System.NullReferenceException”错误

您似乎在事件处理程序中调用代码(例如,单击按钮)。在这种情况下,发送方是
按钮
,因此
as
操作符将返回
null

将名称添加到标签:

<Label Name="myLabel" ... />


顺便说一句:通常在WPF中,您不直接修改GUI,而是使用
数据绑定

如果发送方不是标签,则
as
返回
null
。你在哪个函数中调用代码?我在SpeechRecognited(object sender,SpeechRecognitizeDeventargs e)方法中调用它。我在哪里可以调用它?我在SpeechRecognited(object sender,SpeechRecognitizeDeventargs e)方法中调用它检查用户语音的方法您可以在任何地方调用它,但在本例中,
sender
不是标签而是某个SpeechRecognitor对象。我尝试在方法标签之外调用它。Content=“text”但我得到了红线。。顺便说一句,什么是数据绑定只需在标签的XAML中添加
Name=“myLabel”
,然后您就可以使用
myLabel
直接访问标签。您不需要
发件人
<代码>数据绑定是一个将GUI与逻辑分离的概念,但是有很多关于它的文章,只要在google上搜索就可以了。谢谢我这么做了
 var lblText = sender as Label;
 lblText.Content = "TEST";    
<Label Name="myLabel" ... />
myLabel.Content = "TEST";