C# selectionChanged事件中未处理的nullreference异常
我有两个名为C# selectionChanged事件中未处理的nullreference异常,c#,xaml,C#,Xaml,我有两个名为txtChange和txtStatus的文本框XAML代码如下 <TextBox Height="29" HorizontalAlignment="Left" Margin="418,385,0,0" Name="txtChange" VerticalAlignment="Top" Width="264" Text="Make a selection in this textbox" SelectionChanged="txtChange_SelectionChanged" /
txtChange
和txtStatus
的文本框<代码>XAML代码如下
<TextBox Height="29" HorizontalAlignment="Left" Margin="418,385,0,0" Name="txtChange" VerticalAlignment="Top" Width="264" Text="Make a selection in this textbox" SelectionChanged="txtChange_SelectionChanged" />
<TextBox Height="87" HorizontalAlignment="Left" Margin="418,438,0,0" Name="txtStatus" VerticalAlignment="Top" Width="264" Text="Initialized text" IsReadOnly="True"/>
有人能解释一下发生了什么事吗?我只有初始化组件()代码>在主窗口构造函数中
编辑:当我没有在XAML中初始化文本时,问题得到解决。知道原因吗?问题出在初始化过程中引发的事件选择更改中。当初始化TextBox
txtChange并且为Text
属性分配了引发的事件时,我们在txtStatus
中获得空引用异常,因为它仍然未初始化。初始化组件()
初始化用户界面,您可以在Obj\Debug | Release文件夹文件MainWindow.g.cs和MainWindow.i.cs文件中找到,其中包含自动生成的InitializeComponent()代码代码>如果希望第二个文本框显示第一个文本框的文本,请使用以下XAML
<TextBlock Height="87" HorizontalAlignment="Left" Margin="418,438,0,0" Name="txtStatus" VerticalAlignment="Top" Width="264" Text="{Binding SelectedText, ElementName=txtChange}"/>
请注意,我将您的文本框
更改为文本块
,并将文本绑定到文本框的选定文本不确定,但我在使用名称
时遇到问题。尝试使用x:Name
。调试您的代码并查看sender@Selman22发件人是{System.Windows.Controls.TextBox:在此文本框中进行选择}@johnnympp尝试使用x:Name。还是一样。@Tomtom不。它不是空的。这个问题可以通过从XAML代码中删除文本属性来解决。不知道为什么。你能解释一下为什么吗?使用它并不能解决问题。我认为问题可能出在“txtStatus”中,Textoxes在哪里声明?模板中有吗?MainWindow.xaml和MainWindow.cs是我们在这里讨论的文件。我正在学习XAML并面临这个问题。
<TextBlock Height="87" HorizontalAlignment="Left" Margin="418,438,0,0" Name="txtStatus" VerticalAlignment="Top" Width="264" Text="{Binding SelectedText, ElementName=txtChange}"/>