UWP C#System.InvalidCastException
我以前曾在一篇帖子上问过如何使用它。现在,我在UWP C#System.InvalidCastException,c#,uwp,windows-iot-core-10,C#,Uwp,Windows Iot Core 10,我以前曾在一篇帖子上问过如何使用它。现在,我在按钮旁边添加了额外的图像,以指示客户端的连接状态。我有两个按钮一个用于添加,另一个用于删除按钮和图像。单击后,将出现一个菜单out,用于选择要删除的相应按钮。我的问题是我试图添加状态图像,但是当点击删除按钮时,菜单出现异常,显示系统。无效异常 我的代码如下; 请帮忙。 谢谢 问题是foreach的 foreach (Button btn in myGrid.Children) 这样编写时,它会尝试将网格的所有子项强制转换为按钮。这是不可能的,因为有
按钮旁边添加了额外的图像
,以指示客户端的连接状态。我有两个按钮
一个用于添加,另一个用于删除按钮
和图像
。单击后,将出现一个菜单out
,用于选择要删除的相应按钮。我的问题是我试图添加状态图像
,但是当点击删除按钮时,菜单出现异常
,显示系统。无效异常
我的代码如下;
请帮忙。
谢谢
问题是foreach的
foreach (Button btn in myGrid.Children)
这样编写时,它会尝试将网格的所有子项强制转换为按钮。这是不可能的,因为有些子项不是按钮。但是,您可以这样编写循环:
foreach (Button btn in myGrid.Children.OfType<Button>())
foreach(myGrid.Children.OfType()中的按钮btn)
类型的LINQ扩展方法将只过滤可枚举的输入到给定类型的项。问题在于foreach
:
foreach (Button btn in myGrid.Children)
这样编写时,它会尝试将网格的所有子项强制转换为按钮。这是不可能的,因为有些子项不是按钮。但是,您可以这样编写循环:
foreach (Button btn in myGrid.Children.OfType<Button>())
foreach(myGrid.Children.OfType()中的按钮btn)
类型的LINQ扩展方法将只对给定类型的项目过滤可枚举的输入。是类型为按钮的myGrid
的所有子项吗
foreach (Button btn in myGrid.Children)
否,因为myGrid.Children.Add(stsImg)代码>
当您尝试将stsImg
作为按钮
获取时,会出现该异常,因为stsImg
不是按钮
类型
您只需要过滤按钮
foreach (Button btn in myGrid.Children.OfType<Button>()){
// do stuff
}
foreach(myGrid.Children.OfType()中的按钮btn){
//做事
}
是否所有myGrid
的子项都属于按钮类型
foreach (Button btn in myGrid.Children)
否,因为myGrid.Children.Add(stsImg)代码>
当您尝试将stsImg
作为按钮
获取时,会出现该异常,因为stsImg
不是按钮
类型
您只需要过滤按钮
foreach (Button btn in myGrid.Children.OfType<Button>()){
// do stuff
}
foreach(myGrid.Children.OfType()中的按钮btn){
//做事
}
非常感谢。:)很高兴它这么说:-)。如果它解决了问题,请考虑将答案标记为解决方案,以便问题被关闭。快乐编码!非常感谢。:)很高兴它这么说:-)。如果它解决了问题,请考虑将答案标记为解决方案,以便问题被关闭。快乐编码!