C# 为什么没有';找不到正确的标签(标签为空)?

C# 为什么没有';找不到正确的标签(标签为空)?,c#,.net,wpf,lync,C#,.net,Wpf,Lync,今天我已经问了一个问题,为什么我会在这段代码中出现异常(请查看)。现在我不再得到异常,但它返回的标签为null(它不返回标签)。如需更多问题,请随时提问 如果我调试代码并打开grid.children,我将获得以下路径: grid.children --> not open members (in German it says: "nicht öffentliche member") --> _visualChildren --> not open members -->

今天我已经问了一个问题,为什么我会在这段代码中出现异常(请查看)。现在我不再得到异常,但它返回的标签为null(它不返回标签)。如需更多问题,请随时提问

如果我调试代码并打开grid.children,我将获得以下路径:

grid.children --> not open members (in German it says: "nicht öffentliche member") --> _visualChildren --> not open members --> _items --> _my label i want to get_
我的代码:

for (int i = 0; i < numberOfBooks; i++)
{
    Grid grid = new Grid();

    RowDefinition row = new RowDefinition();

    ColumnDefinition column = new ColumnDefinition();
    ColumnDefinition column2 = new ColumnDefinition();
    ColumnDefinition column3 = new ColumnDefinition();

    Label label = new Label();
    label.Content = Books[i].Titel;
    downGrid.RowDefinitions.Add(row);
    grid.ColumnDefinitions.Add(column);
    grid.ColumnDefinitions.Add(column2);
    grid.ColumnDefinitions.Add(column3);

    Grid.SetRow(label, i);
    Grid.SetColumn(label, 0);
    Grid.SetRow(grid, i);
    upperGrid.Children.Add(grid);
    grid.Children.Add(label);

    grid.MouseLeftButtonDown += (sen, evg) =>
    {
       Label lbl = grid.Children.OfType<Label>().FirstOrDefault(k => .Name=="label");
       string result = lbl?.Name;
       Console.WriteLine(result);
    };
}
for(int i=0;i
{
Label lbl=grid.Children.OfType().FirstOrDefault(k=>.Name==“Label”);
字符串结果=lbl?.Name;
控制台写入线(结果);
};
}

您可以在标签上搜索名为“label”的标签

Label lbl=grid.Children.OfType().FirstOrDefault(k=>.Name==“Label”);

但是在创建它之后,您忘记给它命名了

您在标签上搜索一个名为“label”的标签

Label lbl=grid.Children.OfType().FirstOrDefault(k=>.Name==“Label”);

但是你在创建它之后忘记给它命名了

天哪,我真不敢相信我会那么愚蠢。我找了两个小时的故障。。。非常感谢你!我想,这个名字是我在做一个例子的时候给标签的名字。你知道吗,如果你知道我的意思的话,我怎么能在标签上搜索它的变量名。这是不可能的,因为可能有很多(也没有)变量指向特定的标签。要在变量名之后命名它,你可以使用
label.name=nameof(label)
OMG,我真不敢相信我这么愚蠢。我找了两个小时的故障。。。非常感谢你!我想,这个名字是我在做一个例子的时候给标签的名字。你知道吗,如果你知道我的意思,我如何搜索标签的变量名。这是不可能的,因为可能有许多(也可能是零个)变量指向特定的标签要在变量名之后命名,你可以使用
label.name=nameof(label)
Label lbl = grid.Children.OfType<Label>().FirstOrDefault(k => .Name=="label");