我有一个 ListView ,它的项目来源是一个列表。我希望用户只选择一项。当我将 listview 的 SelectionMode 设置为 single 时,用户仍然可以选择多个项目,并且似乎 listview 变得疯狂并选择用户没有选择的项目......看起来很奇怪......谁能知道可能是什么问题?
我不能在这里粘贴屏幕截图,我没有粘贴选项.....
这是一个 xaml -
<StackPanel MinWidth="600" Margin="0,0,0,10" HorizontalAlignment="Left" Width="600">
<GroupBox Header="Command Queue" BorderThickness="0" Foreground="CornflowerBlue">
<Border BorderThickness="1.5" CornerRadius="10">
<ListView SelectionMode="Single" Background="Transparent" BorderThickness="0" Margin="5" Name="ListView_CmdQ" ItemsSource="{Binding}" MaxHeight="450" FontFamily="verdana" FontSize="12">
</ListView>
</Border>
</GroupBox>
</StackPanel>
最佳答案
列表中的项目是否多次出现?我以前见过这个问题,你有这样的事情:
var a = new Thing();
var b = new Thing();
var myList = new List<Thing>();
myList.Add(a);
myList.Add(b);
myList.Add(a);
myList.Add(b);
如果您要绑定(bind)
ListView
到myList
,你会得到你所描述的行为。我认为基本上这与列表中的多个项目匹配 SelectedItem
的事实有关。 ,所以列表的样式有点困惑。一种解决方法是将每个项目包装在另一个类中:var myList = new List<WrappedThing>();
myList.Add(new WrappedThing((a));
myList.Add(new WrappedThing((b));
myList.Add(new WrappedThing((a));
myList.Add(new WrappedThing((b));
...这意味着列表中的每个项目都是唯一的,即使它们包装的项目可能不是。
关于wpf - ListView选择单个项目,wpf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5469700/