wpf - ListView选择单个项目,wpf

标签 wpf listview

我有一个 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) ListViewmyList ,你会得到你所描述的行为。我认为基本上这与列表中的多个项目匹配 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/

相关文章:

wpf - 使用 WrapPanel 样式化 ListView.GroupStyle

ios - listView 不显示,除非我滚动它

android - 尝试完成输入事件,但输入事件接收器已被释放

android - Firebase 在滚动条上加载更多项目 (Android)

wpf - 为 Grid 应用不透明度,不要为其子控件应用

wpf - 有没有办法在 Visual Studio 2008 中关闭 wpf 设计图面?

wpf - 将数据上下文字符串属性绑定(bind)到 StaticResource 键

android - 自定义适配器 ListView,setOnCheckedChangeListener 不工作

listview - flutter 。在非常大的 ListView 上设置 ListView 初始位置

c# - 是否可以继承 XAML?