c# - 无法按名称从 C# 中的列表框中删除 StackPanel

标签 c# windows-phone-7 windows-phone-8 listbox

我正在尝试使用以下代码从 ListBox 中删除一个项目:

listBox.Items.Remove(stackPanelName);

我没有得到任何错误,但也没有得到任何可见的结果。

有人知道我做错了什么吗?

最佳答案

你可以这样做:

var stackPanelItem = listBox.Items.OfType<FrameworkElement>()
                            .First(x => x.Name == stackPanelName);
listBox.Items.Remove(stackPanelItem);

如果 listBox.Items 集合中没有具有该名称的项目,这将失败。您可能希望这样做更安全一些:

var stackPanelItem = listBox.Items.OfType<FrameworkElement>()
                            .FirstOrDefault(x => x.Name == stackPanelName);
if (stackPanelItem != null)
{
    listBox.Items.Remove(stackPanelItem);
}

关于c# - 无法按名称从 C# 中的列表框中删除 StackPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18035681/

相关文章:

c# - 当 treenodeclick 打开表单时,表单落后

c# - 如何使用 MEF 从 dll 文件中提取图片

c# - 在 ASP .NET 应用程序中每 24 小时/每个用户自动触发事件一次

c# - 无法连接到远程服务器

.net - 为什么我不能在 2.0.0.0 播放器框架中重用来自 1.8.2.2 播放器框架的自定义 XAML 样式 PlayPauseButton

c# - 跨所有 View 模型处理 token 过期事件的策略

windows-phone-7 - 在 Windows Phone 7 中访问网站内容

c# - WP7 : take screenshot from application

multithreading - 我该如何开始一项长期的后台任务?

html - 如何在 Windows Phone 中将 HTML 代码转换为 XAML