列表框 Shift-Click 多选锚点设置不正确

2023-12-14

我无计可施地试图解决这个问题。我在 WPF 方面经验丰富,但从未见过这样的事情。

我有一个包含可选 ListBoxItems 的列表框。可以通过单击鼠标或使用向上/向下箭头来选择列表中的项目。我正在使用 SelectionMode.Extended,因此我的列表支持多项选择。

问题:单击列表中的一个项目,然后按住 Shift 键并单击另一个项目,就会像您期望的那样选择正确的项目范围。不幸的是,使用向上/向下箭头无法正常工作 - 相反,选择的范围似乎总是基于最后单击的项目,而不是使用箭头键选择的项目。

例如:

[Item 1] <- Click this item
[Item 2] <- Use the down arrow to select this item
[Item 3] <- Shift-Click this item

您可能希望选择项目 2 和 3,但实际上选择了所有项目(1、2 和 3)。

所有 ListBox 属性都有正确的值(即使用箭头键更新 SelectedItems 属性),我唯一的问题似乎是 ListBox 如何在内部处理 Shift-Click 选择。据我所知,我相信这与通过鼠标单击而不是箭头键设置列表框的“多选锚点”有关。

以前有人遇到过并解决过这个问题吗?有没有办法手动设置“多选锚点”?感谢您的帮助!

Chris


我已经想出了解决办法:

为了解决这个问题,您必须在更改 SelectedIndex 后将 Focus 设置为该项目:

if (SelectedIndex > 0) {
     SelectedIndex--;
     ListBoxItem item = ItemContainerGenerator.ContainerFromIndex(SelectedIndex) as ListBoxItem;
     item.Focus();
}

这是在列表中向下移动选择的方法。但是,您需要将焦点设置到该项目上,以便按住 Shift 键并单击选择才能将该项目识别为锚点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

列表框 Shift-Click 多选锚点设置不正确 的相关文章

  • 使用遗留代码(使用reinterpret_cast)真的是一种很好的技术吗?

    下面的代码来自一篇关于C 面试问题的帖子here https www toptal com c plus plus interview questions 我从来不知道这种技术 尽管它声称是一种很好的技术 我的问题是 什么情况下需要使用它
  • C++ STL 映射,std::pair 作为键

    这就是我通过地图定义的方式 std map
  • 地图类容器的专用功能

    我想要专门为矢量和地图之类的容器设计一个函数模板 对于向量 我可以像下面那样做 但我不知道如何才能有一个专门版本的函数 该函数仅用于像地图这样的容器 include
  • 二叉树和快速排序?

    我有一个家庭作业 内容如下 别生气 担心 我是not请你帮我做作业 编写一个程序 通过使用二分查找的快速排序方法对一组数字进行排序 树 推荐的实现是使用递归算法 这是什么意思 到目前为止 这是我的解释 正如我在下面解释的那样 我认为两者都有
  • 如何在 Google Mock 中使用可选参数来模拟方法?

    如何使用可选参数模拟方法谷歌模拟 例如 class A public void set enable bool enabled true class MockA public A MOCK METHOD1 set enable void b
  • 如何在建立上下文时设置连接超时-PrincipalContext

    using PrincipalContext ctx new PrincipalContext ContextType Domain Domain UserName Password UserPrincipal U new UserPrin
  • 为什么 xcode IDE 认为 `friend` 是保留字

    我一直在开发一个个人项目 并在我创建的新类中包含以下代码 property readonly getter isFriend BOOL friend 它似乎没有任何问题 当我构建它时 它可以编译得很好 但是当我们在xcode IDE看起来像
  • C++:避免​​在重载中将字符串自动转换为布尔值

    我想创建一组方法 这些方法将根据其类型输出具有特殊格式的值 当我这样做时 到目前为止看起来还不错 static void printValue std ostringstream out int value out lt lt value
  • 仅使用一个 #include 表达式一次包含多个头文件?

    是否有任何表达式可以使语法一次包含多个标头 而无需为每个新文件编写 include 表达式 例如 include
  • 现代编译器的 C++ 中“memset”功能的状态

    Context 不久前 我偶然发现了 Alexandrescu 在 2001 年发表的 DDJ 文章 http www ddj com cpp 184403799 http www ddj com cpp 184403799 它是关于比较将
  • 批量插入,asp.net

    我需要获取与会员相对应的 ID 号列表 在任何给定时间处理的数量可能在 10 到 10 000 之间 我可以毫无问题地收集数据 解析数据并将其加载到 DataTable 或任何内容 C 中 但我想在数据库中执行一些操作 将所有这些数据插入表
  • 为什么 C# 中的命名空间允许循环依赖?

    在 c 中 您可以在文件 a cs 其命名空间为 MyApp A 中拥有一条语句 using MyApp B 而文件 b cs 其名称空间为 MyApp B 已经包含该语句 using MyApp A 如果类似的依赖关系存在于不同的 dll
  • 括号内声明的对象的范围

    如果我声明一个这样的对象 void main myclass objectA anotherclass true true 0 即 我通过直接调用后者的构造函数来创建一个 objectA 和另一个对象 anotherclass anothe
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele
  • 用 std::generate_n 填充 std::map

    我想填写一个std map using std generate n但无法让它发挥作用 我尝试过的是这样的事情 unsigned number of pairs 5 std map
  • TCP/IP 传输期间套接字数据损坏

    当我通过预连接的 TCP IP 套接字发送数据时 我发现数据已损坏 Example Station1 正在向 Station2 发送数据 我已经在发送之前 在 S1 和接收之后 在 S2 打印了数据 以下是消息 S1 发送的数据是ACKS2
  • C 中的 2 个字符要短

    我有2个字符 Char 128和查尔2 如何将这些字符转为 Short640 in C 我试过了 unsigned short getShort unsigned char array int offset short returnVal
  • 在 C 中运行 setuid 程序的正确方法

    我有一个权限为4750的进程 我的Linux系统中存在两个用户 root 用户和 appz 用户 该进程继承以 appz 用户身份运行的进程管理器的权限 我有两个基本惯例 void do root void int status statu
  • C# 中的 mshtml.HTMLDocumentClass

    在 C 中 我设法从 InternetExplorer 对象获取整个 HTMLDocumentClass 导航到某个 URL 然而 在 Visual Studio 2008 的调试模式下 该特定 URL 的 HTMLDocumentClas
  • Web 和 winforms 的 .Net 身份验证

    我有一个为客户端构建的 ASP NET Web 应用程序 它使用默认的 ASP NET 表单身份验证 他们现在请求一个能够 与 Web 应用程序一起工作的桌面 WinForms 应用程序 我已经创建了 Web 服务来访问他们想要从 Web

随机推荐

  • Docker 与 GUI 应用程序

    TL DR 我需要从 Docker 容器后台运行的 Java 应用程序启动 Selenium 由于在运行时无法访问 X11 环境 启动失败 看Dockerfile下面是我开始的部分 我应该怎么办 Problem 我从一个简单的开始Docke
  • mex 无法识别内联

    我正在尝试编译libdc1394 的 matlab 包装器这是火线相机的库 我收到一个奇怪的错误 涉及头文件中的一些内联函数 我正在使用 gcc 4 6 开发 ubuntu 12 04 我已经成功编译了其他 mex 文件 这个包装器在 Ma
  • 将 Unity 应用程序集成到现有 iOS 应用程序

    我有一个从 Unity 5 导出的 iOS 应用程序 并且我还使用 vuforia 将 ar 添加到该 Unity 应用程序中 现在我想将 Unity 应用程序集成到我现有的 iOS 应用程序中 我已关注http www the nerd
  • 是否有必要为只读线程和只写线程创建互斥体?

    有2个线程 一个只读取signal 另一个只设置signal 是否有必要创建互斥体signal原因是什么 UPDATE 我所关心的是如果两个线程同时读取 设置它是否会崩溃 您可能希望为此使用原子变量 尽管互斥体也可以工作 问题在于 无法保证
  • 保持纵横比和固定高度

    所以我想保持一个特定的纵横比div 其中高度是固定的 过去我曾经这样做过 但只有在使用固定宽度时才这样做 one one position relative one one before display block content widt
  • 等待“正在加载”图标从页面上消失

    我们正在为 Web 应用程序进行自动化 大多数场景都会在页面中心出现一个加载图标 我们需要等待这个加载图标消失 HTML div style display none div div div div 示例 我们在大多数场景下都有搜索功能 当
  • Phonegap 文件上传 Java 服务器

    我正在尝试在 Java 服务器上上传图像 该文件正在从 Android 设备传输 但在服务器上保存 null 这是服务器代码 public UploadMediaServerResponse uploadFileForFunBoard Fo
  • Xamarin 自定义视图 ClassNotFoundException

    我是 Xamarin 的新手 我试图在 Android 应用程序中创建自己的视图 但它在构造函数上抛出 ClassNotFoundException 我正在寻找类似的问题 但没有找到类似的问题 仅here我认为可能非常相似 但实际上并没有解
  • 如何用bindvalue和%准备语句?

    是的 当我尝试对之前看起来像这样的变量使用绑定值时 我遇到了问题 users firstname LIKE firstname 现在看起来像这样 users firstname LIKE firstname 但还是不行 也试过了 users
  • 无法使用代理设置连接到 SOAP API

    我正在使用 requests 和 zeep 库通过 SOAP API 连接到服务器 如果我手动设置互联网代理 我可以连接 但是 我打算在脚本中使用代理设置来自动化该过程 我正在使用以下代码块来执行此操作 但出现以下错误 谁能帮助我 我在哪里
  • SQL有多少条记录以相同字母开头

    所以我在数据库的 A 列中有数千条记录 我想看看有多少个字母以字母开头 以及所有个位数 所以我需要一个计数和与之相关的字母 我还想查看所有两个字母数字组合 即 aa ab ac ad ae 等及其计数 还有三个和四个字符等 一般情况下你可以
  • 如何阻止光标跳到末尾?

    我正在使用 Antd 输入库 每当我在单词的开头或中间输入时 我的光标就会跳到结尾 const handleOpenAnswer key value gt handleFieldChange settings settings key va
  • 如何在 Spring Boot 应用程序中使用 Hibernate Validation 进行 Bean 验证?

    我正在 Spring Boot 应用程序中学习 Hibernate 验证 并且我有一个 Rest 控制器和一个 POST 方法 当我发出请求时 如果某个字段未成功验证 客户端应该收到 400 Bad Request 并在正文中收到类似 验证
  • WPFToolkit DataGrid:组合框列不会立即更新选定值绑定

    我正在使用 WPF 工具包 DataGrid 和 DataGridComboBoxColumn 一切正常 除了当组合框上发生选择更改时 选定的值绑定源不会立即更新 仅当组合框失去焦点时才会发生这种情况 有没有人遇到过这个问题并有任何建议的解
  • 无法使用 Element.getAttribute() 获取元素值

    我想读取 xml 文件 我找到了一个很好的示例 直到 xml 元素没有任何属性 当然 我尝试过如何读取属性 但它不起作用 例如 XML
  • MS Dynamics CRM Online 2011 - 身份验证问题

    我是 Dynamics crm online 2011 的新手 虽然我一直在研究 SDK 示例代码 但我试图找到最简单的方法来执行与我们的在线 Dynamics CRM 服务的基本身份验证连接 并推送一些非常基本数据到我创建的自定义实体 扩
  • 圆圈未显示在 JPanel 中

    所以我试图在里面画圆圈inner控制板 我有一堂课 paintTimeUnit给定 xy 坐标对 在面板内创建圆圈 但每当我创建一个新的paintTimeUnit对象并将其添加到面板中 它似乎没有显示 public class paintT
  • ember.js 还支持 ObjectController 吗?如果不是,用什么来替代它?

    我正在尝试学习一些 Ember js 虽然我意识到一切都在变化 但似乎 Sproutcore 2 指南中的这段代码 链接到 Ember js github 自述文件 并没有继续工作 App userController SC ObjectC
  • 使用 Python 变量搜索 SQLite 数据库

    我有一个 SQLite 数据库 我想使用 Python 变量进行搜索 如下所示 cur execute SELECT FROM list WHERE InstitutionName Variable 理想情况下 这将允许我将每一行作为列表返
  • 列表框 Shift-Click 多选锚点设置不正确

    我无计可施地试图解决这个问题 我在 WPF 方面经验丰富 但从未见过这样的事情 我有一个包含可选 ListBoxItems 的列表框 可以通过单击鼠标或使用向上 向下箭头来选择列表中的项目 我正在使用 SelectionMode Exten