Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图修改xaml元素时,WPF引发System.NullReferenceException_C#_Wpf - Fatal编程技术网

C# 试图修改xaml元素时,WPF引发System.NullReferenceException

C# 试图修改xaml元素时,WPF引发System.NullReferenceException,c#,wpf,C#,Wpf,我一直在尝试制作一个德国练习程序(试图学习,但很难),但我遇到了“System.NullReferenceException”错误。知道是什么原因造成的吗?以及如何修复?谢谢:) 我一直在寻找一种方法,将多个(本例中最多20个)对象参数更改为某个值,而不使用HUUUGE代码和疯狂的方式,因为我是一个新的程序员,仍然不知道所有的快捷方式和东西:D 我在互联网上浏览了很多,试图找到一种方法,但没有成功,所以我在这里问。抱歉,如果代码太多,我认为最好全部发布,然后错过一些对我来说似乎不重要但实际上很重

我一直在尝试制作一个德国练习程序(试图学习,但很难),但我遇到了“System.NullReferenceException”错误。知道是什么原因造成的吗?以及如何修复?谢谢:)

我一直在寻找一种方法,将多个(本例中最多20个)对象参数更改为某个值,而不使用HUUUGE代码和疯狂的方式,因为我是一个新的程序员,仍然不知道所有的快捷方式和东西:D

我在互联网上浏览了很多,试图找到一种方法,但没有成功,所以我在这里问。抱歉,如果代码太多,我认为最好全部发布,然后错过一些对我来说似乎不重要但实际上很重要的东西,对吗?:)

哦,我在“(((((“clen”+x)as object)as TextBox.IsEnabled=true;”部分遇到了异常。但它认为它也会发生在代码中我使用similiar作为一部分的任何其他地方

XAML:

<Window x:Class="NJ.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:NJ"
    mc:Ignorable="d"
    Title="MainWindow" Height="900" Width="1600">
<Grid>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,59,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" Name="clen1" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,59,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" Name="slovicko1" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,110,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen2" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,110,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" x:Name="slovicko2" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,161,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen3" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,161,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" x:Name="slovicko3" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="40" Margin="10,212,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen4" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,212,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="427" x:Name="slovicko4" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,264,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen5" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,264,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" x:Name="slovicko5" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,315,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen6" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,315,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" x:Name="slovicko6" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,366,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen7" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,366,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" x:Name="slovicko7" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="40" Margin="10,417,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen8" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,417,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="427" x:Name="slovicko8" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="40" Margin="10,468,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen9" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,468,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="427" x:Name="slovicko9" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="10,520,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen10" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="106,520,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="427" x:Name="slovicko10" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,59,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen11" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,59,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko11" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,110,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen12" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,110,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko12" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,161,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen13" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,161,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko13" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="40" Margin="651,212,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen14" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,212,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="428" x:Name="slovicko14" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,264,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen15" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,264,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko15" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,315,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen16" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,315,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko16" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,366,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen17" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,366,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko17" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="40" Margin="651,417,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen18" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,417,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="428" x:Name="slovicko18" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="40" Margin="651,468,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen19" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,468,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="428" x:Name="slovicko19" IsEnabled="False" FontSize="25"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="651,520,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="76" x:Name="clen20" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="746,520,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="428" x:Name="slovicko20" IsEnabled="False" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="1266,33,0,0" TextWrapping="Wrap" Text="Od lekce:" VerticalAlignment="Top" Height="39" Width="90" FontSize="20"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="1362,31,0,0" TextWrapping="Wrap" Text="1" VerticalAlignment="Top" Width="38" Name="zacateklekci" FontSize="25"/>
    <TextBlock HorizontalAlignment="Left" Margin="1426,33,0,0" TextWrapping="Wrap" Text="do lekce:" VerticalAlignment="Top" Height="39" Width="90" FontSize="20"/>
    <TextBox HorizontalAlignment="Left" Height="39" Margin="1520,31,0,0" TextWrapping="Wrap" Text="1" VerticalAlignment="Top" Width="38" Name="koneclekci" FontSize="25"/>
    <Slider HorizontalAlignment="Left" Margin="1290,110,0,0" VerticalAlignment="Top" Maximum="20" Height="39" Width="250" TickPlacement="BottomRight" TickFrequency="1" IsSnapToTickEnabled="True" Name="wordcount" Minimum="1" Value="1"/>
    <TextBlock HorizontalAlignment="Left" Margin="1236,109,0,0" TextWrapping="Wrap" Text="{Binding ElementName=wordcount, Path=Value, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Height="40" Width="49" FontSize="25"/>
    <Button Content="Nový test" HorizontalAlignment="Left" Margin="1266,161,0,0" VerticalAlignment="Top" Width="274" Height="39" FontSize="25" Click="Button_Click" Name="generateTest"/>
    <Button Content="Zkontrolovat" HorizontalAlignment="Left" Margin="1266,264,0,0" VerticalAlignment="Top" Width="274" Height="39" FontSize="25" Click="kontroluj" Name="zkontolujbutton"/>
    <TextBlock HorizontalAlignment="Left" Margin="1266,315,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="39" Width="274" FontSize="25" Name="pocetchyb"/>

</Grid>

C#反码

公共部分类主窗口:窗口
{
公共int chyby=0;
公共列表比较列表=新列表();
public List derlist=new List();
public List dielist=新列表();
public List daslist=新列表();
公共列表黑名单=新列表();
int-tmp1=1;
int-tmp2=1;
公共主窗口()
{
初始化组件();
}
私有无效按钮\u单击(对象发送者,路由目标e)
{
if(Int32.TryParse(zacateklekci.Text,out tmp1)和&Int32.TryParse(koneleckci.Text,out tmp2))
{
如果(tmp1<8&&tmp1>0&&tmp2<8&&tmp2>0)
{
chyby=0;

对于(int i=1;i而言,问题在于查找/访问控件的逻辑,例如
(((((“clen”+x)作为对象)作为文本框)
以及将对象强制转换为
文本框的类似代码

当您说
(“clen”+x)as object
本质上是一个
字符串
对象,而不是
文本框
对象。因此,当您将
字符串
对象强制转换为
文本框
时,它将导致空值

要解决此问题,您可以使用方法在窗口中搜索给定名称的所有元素。请注意,您不能使用它在侧模板中搜索元素,而您没有这样做。因此,修复的代码如下所示:

(FindName("clen" + x) as TextBox)

确保检查空结果。

在您有
系统的地方。NullReferenceException
?((((“clen”+x)作为对象)作为文本框)。IsEnabled=true;没有进一步执行它,因为此方法必须至少开始运行一次,我不介意使用一些…”Sketchier“元素操作或其他事情,因为它的程序只供我自己使用:)
(((((“clen”+x)作为对象)作为文本框).IsEnabled=true;
-请解释您认为这将实现什么,因为我不相信它能达到您认为的效果。我将我的文本框命名为clen1到20,这样我可以使用某种循环函数逐个遍历它们并更改它们的属性。我认为当clen1.IsEnabled起作用时,这也应该起作用,因为它像po一样int在同一个对象上否?我可以问一下“确保检查null”是什么意思吗?谢谢:)只需检查:var tb=FindName(“clen”+x)as TextBox;if(tb!=null)//安全继续
(FindName("clen" + x) as TextBox)