Почему он не находит правильную метку (метка пуста)? - PullRequest
0 голосов
/ 29 мая 2018

Я уже задавал вопрос сегодня, почему я получаю исключение в этом коде (проверьте здесь ).Теперь я больше не получаю исключения, но метка, которую он возвращает, равна нулю (метка не возвращает).Для дальнейших вопросов, не стесняйтесь спрашивать.

Если я отлаживаю код и открываю 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);
    };
}

1 Ответ

0 голосов
/ 29 мая 2018

Вы ищете ярлыки с именем "label".

Label lbl = grid.Children.OfType<Label>().FirstOrDefault(k => .Name=="label");

Но вы забыли назвать его после того, как создали его

...