当前位置 : 主页 > 编程语言 > c语言 >

c# – WPF ListView键盘导航问题

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有这样的列表视图 列表显示: ——— 芒果 橙色 葡萄 葡萄 葡萄 Apple 草莓 每当我使用downarrow进行导航时,BlueHighlight会在第一个Grapes处停顿,一个虚线的矩形从第二个葡萄开始并停留在
我有这样的列表视图

列表显示:
———

>芒果
>橙色
>葡萄
>葡萄
>葡萄
> Apple
>草莓

每当我使用downarrow进行导航时,BlueHighlight会在第一个Grapes处停顿,一个虚线的矩形从第二个葡萄开始并停留在第三个葡萄,然后BlueHighlight从Apple恢复.这似乎很奇怪,当导航向上时它会变得更加奇怪.它从Apple跳到Orange或芒果.

这是由于虚拟化吗?
似乎只有重复数据(葡萄)才会产生问题.任何帮助?

虚线矩形是您的键盘焦点.蓝色矩形是您的选择.

当您向下移动键盘时,焦点会跟踪您所在的位置.但是,选择会跟踪选择的项目.当同一项目在列表中多次时,选择矩形只能在其中一个上显示.

为了使您的工作符合您的预期,请将您的项目包装在ObservableCollection中.所以代替:

coll.Add(fruit);

你会写的

coll.Add(new FruitWrapper(fruit));

在ListBox中,您的ItemTemplate可以包含一个ContentPresenter,它在包装器中显示水果(例如< ContentPresenter Content =“{Binding Fruit}”/>).

网友评论