2012-07-29 193 views
2

如何在C#Metro应用程序中取消选择列表视图的所有值?我通过对象浏览器和在线搜索,一直没有找到任何东西。提前致谢!Listview取消选择C#Metro

回答

1

我发现了另一种我想做的事情。我只有一个列表项,其中显示默认选择的“无”。当我选择这个项目时,焦点会从先前选择的其他项目移开。由Pako提供的解决方案可以在传统的桌面/ WPF环境中工作,但显然不是地铁之一。谢谢您的帮助。

+0

我有同样的问题,我的解决方案是这样的:list.SelectedIndex = -1; – celsoap7 2014-09-28 16:01:11

2

您是否尝试过清除SelectedItems列表?这就是我认为的正常情况。

listView.SelectedItems.Clear(); 

编辑: 要澄清一些事情,下面是清除没有问题,选择的项目样本的WPF应用程序。也许Metro应用程序工作有所不同,但我会假设逻辑应该是相同的。

<StackPanel> 
    <ListView Name="listView"> 
     <ListViewItem>Item 1</ListViewItem> 
     <ListViewItem>Item 2</ListViewItem> 
     <ListViewItem>Item 3</ListViewItem> 
     <ListViewItem>Item 4</ListViewItem> 
    </ListView> 
    <Button Click="Button_Click" 
      Content="Clear selection" /> 
</StackPanel> 

这里是beind代码:

private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     listView.SelectedItems.Clear(); 
    } 

在按钮点击列表项正确取消,没有异常被抛出。

+0

嗯我试过这个,当应用程序到达这一行时,它会导致程序崩溃。 – GGCO 2012-07-29 15:05:33

+1

具体来说,我说: “类型的异常‘System.Exception的’出现在mscorlib.dll但未在用户代码来处理 附加信息:如果有 :(0x8000FFFF(E_UNEXPECTED)从HRESULT异常)灾难性故障这个例外的处理程序,程序可以安全地继续。“ – GGCO 2012-07-29 15:06:06

+0

此外,你建议将删除列表视图中的项目,而不是简单地取消选择它们。 – GGCO 2012-07-29 15:22:15