C# 为什么要获取System.InvalidOperationException?
我现在真的很绝望。我正在编写一个WPF程序。我构建了一个简单的C# 为什么要获取System.InvalidOperationException?,c#,.net,wpf,linq,C#,.net,Wpf,Linq,我现在真的很绝望。我正在编写一个WPF程序。我构建了一个简单的XAML构造,并根据数据库中存储的元素数量动态生成网格和网格内的标签。即使我定义了标签并将其命名为Label,我还是得到了一个System.invalidoOperationException。我找到了这个解决办法。我的实际问题是,我需要在这个网格中获取标签的内容。我提出的所有问题都与我链接的问题相似 我希望你明白我的意思 这是我的代码: for (int i = 0; i < numberOfBooks; i++) {
XAML构造
,并根据数据库中存储的元素数量动态生成网格和网格内的标签。即使我定义了标签并将其命名为Label,我还是得到了一个System.invalidoOperationException
。我找到了这个解决办法。我的实际问题是,我需要在这个网格中获取标签的内容。我提出的所有问题都与我链接的问题相似
我希望你明白我的意思
这是我的代码:
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;
upperGrid.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>().First(k => k.Name=="label"); //Here I get the exception
string result = lbl.Name.ToString();
Console.WriteLine(result);
};
}
for(int i=0;i
{
Label lbl=grid.Children.OfType().First(k=>k.Name==“Label”);//这里我得到了一个异常
字符串结果=lbl.Name.ToString();
控制台写入线(结果);
};
}
第一个将抛出。使用该选项将返回默认值,并且(?。
):
然后:
MessageBox.Show(result);
异常消息是什么?为什么不使用?它具有ItemsSource属性,并选择您试图模拟的EdItemhere@PatrickHofman我收到的信息是:System.InvalidOperationException:“序列没有元素”。@S.Akbari是的,对不起,我忘记回答你了。我不再得到异常,但它不会像应该的那样在控制台中写入结果。它只是写了一行空话。@KrzysztofSkowronek我想,我需要使用它,但我想等待,看看是否有办法用我的方式来做。但是谢谢你的回答,我会记在心里的。
using System.Windows;
MessageBox.Show(result);