WPF 将 2d 鼠标点击转换为 3d 空间

2023-12-13

我的 Viewport3D 中有几个几何网格,它们的边界为(w:1800,h:500,d:25)。

当用户单击网格中间时,我想要 (900, 500, 25) 的 Point3D...

我怎样才能实现这个目标?

谢谢! 标记


只需使用VisualTreeHelper.HitTest与回调。

  • 如果你有一个Viewport3D包含模型,你可以只传递一个PointHitTestParameters包含鼠标位置。

  • 如果您需要直接操作Visual3D,传入一个RayHitTestParameters根据相机参数和鼠标位置计算得出。

在任何一种情况下,您的回调都会被调用RayTestHitResult,如果你击中一个网格,它将是RayMeshGeometry3DHitTestResult。这包括一个Point3D属性告诉您被击中的空间中的 3D 点,以及被击中的网格和三角形。

See 3D 命中测试更多细节。

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

WPF 将 2d 鼠标点击转换为 3d 空间 的相关文章

  • 为什么在 WinForms 中可以跨线程添加控件,而在 WPF 中却不能?

    在虚拟 WinForms 应用程序中 我可以在设计时创建 ListBox 在运行时创建后台线程 然后从后台线程将控件添加到 ListBox 但如果我在 WPF 中执行相同的操作 则会出现错误 为什么我可以在 WinForms 中执行此操作
  • 如何计算 WPF 中的非客户端窗口大小?

    WPF 有SystemParameters class http msdn microsoft com en us library system windows systemparameters aspx公开了大量的系统指标 在我的计算机上
  • WPF:BinaryFormatter 可以序列化 FlowDocument 实例吗?

    我喜欢使用binaryformatter来序列化流文档 但这是例外 Serializable public class BinFlow public FlowDocument my get set BinFlow myBF new BinF
  • WPF 和 ClickOnce

    MSDN 未将 WPF exe 列为 ClickOnce 支持的应用程序类型 ClickOnce 应用程序是任何 Windows Presentation Foundation xbap Windows 窗体 exe 控制台应用程序 exe
  • 如何在 WPF 中设置窗口边框和标题栏的样式? [复制]

    这个问题在这里已经有答案了 我们正在开发一个 WPF 应用程序 它使用 Telerik 的控件套件 一切正常且看起来很好 不幸的是 我们最近需要替换所有对话框的基类 将 RadWindow 更改为标准 WPF 窗口 原因与本讨论无关 通过这
  • MVVM 焦点到文本框

    我如何将焦点集中在TextBox没有指定名称TextBox 目前我正在做以下事情
  • 获取程序集中所有资源的列表

    我有一个文件夹Resources并想要获得一份包含所有内容的列表paths 如果我将它们设置为embedded resource 我可以通过 var resources Assembly GetExecutingAssembly GetMa
  • WPF:在关闭事件触发之前,不会提交对具有焦点的文本框的更改

    我有一个用于编辑数据库信息的 WPF 窗口 它使用实体框架对象表示 当用户关闭窗口时 我想在 Closing 事件中注意到信息是否已更改 并显示一个消息框 提供将更改保存到数据库的信息 不幸的是 在编辑失去焦点之前 对当前焦点编辑的更改不会
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • 已发布的 .Net Core 应用程序警告安装 .Net Core,但它已安装

    我制作了一个 WPF 和控制台应用程序 供某人在我无法访问的私人服务器上使用 我使用 Visual Studio 2019 的内置 发布向导 来创建依赖于框架的单文件应用程序 当该人打开 WPF 应用程序时 他们会看到标准警告 他们单击 是
  • WPF Treeview,如何更改缩进

    我的树视图基本上有 文件夹 节点 以及不包含其他项目的项目下面的一层 因此 不需要用于展开 折叠图标的空间 在第 2 层 我可以放弃这个图标空间从而减少缩进吗 项目 在示例 机场 中 应向左移动一些像素 重要提示 基本上是寻找代码解决方案
  • 数据绑定到代码隐藏中的目标 CLR 属性

    在代码隐藏中绑定到依赖属性很容易 你只需创建一个新的System Windows Data Binding对象 然后调用目标依赖对象的SetBinding method 但是 当我们绑定的属性是 CLR 属性并且您无法提供Dependenc
  • 在 ViewModel 中使用 CollectionViewSource 的正确方法

    我使用拖放将数据源对象 数据库模型 绑定到DataGrid 基本上遵循这个例子实体框架与 WPF 的数据绑定 http msdn microsoft com en us data jj574514 通过这个实现 一切都运行良好 XAML
  • 什么是WPF浏览器应用程序类型项目?

    什么时候应该使用 WPF 浏览器应用程序 该项目类型有什么用处 开发人员什么时候应该使用这个 WPF 浏览器应用程序是在浏览器中作为 XBAP Xaml 浏览器应用程序 运行的应用程序 您可以找到有关 XBAP 的用途和原因的更多信息her
  • 来自资源中 ImageSource 的 System.Drawing.Image

    我的问题与这个非常相似 wpf图像资源以及运行时在wpf控件中更改图像 https stackoverflow com questions 940592 wpf image resources and changing image in w
  • 在表格中可视化 2D 数据

    我需要一些帮助并且需要指出正确的方向 我正在创建一个应显示二维数据的 WPF 应用程序 它应该显示如下 y x 1 2 3 4 5 1 1 2 3 4 5 2 2 4 6 8 10 3 3 6 9 12 15 4 4 8 12 16 20
  • 从 BitmapImage 获取支持的图像格式

    如何获取 System Windows Media Imaging BitmapImage 支持的图像格式列表 我正在用 C WPF 编写一个简单的图像处理工具 BitmapImage 类是更有用的位图类之一 因为它能够从多种格式进行解码
  • ListView.GridViewColumn 对齐中的控制

    我有以下 WPF ListView
  • 在 XAML 中设置依赖项属性时,为什么会在运行时绕过 .NET 属性包装器?

    我正在阅读 Adam Nathan 的书 WPF 4 Unleashed 第 82 页有以下警告 在 XAML 中设置依赖属性时 NET 属性包装器会在运行时被绕过 虽然 XAML 编译器依赖于 编译时的属性包装器 WPF 调用底层 直接在
  • 使用 WPF 动态加载内容

    好的 我有一个容器 我为其创建了两个数据模板 基本上 一个模板将显示 5 个文本框 其中包含绑定到它们的对象数据 另一个模板将显示一个用于添加该特定对象的按钮 我对 DataTemplateSelector 进行了子类化 它可以工作 但是当

随机推荐

  • 列出 git 中提交所触及的所有文件

    如何列出两次提交之间 触及 的所有文件 我正在寻找类似的命令git diff COMMIT1 COMMIT2 name only但包括后来修改和恢复的文件 例如 假设我有一个包含一系列提交 线性历史记录 的存储库 C0git diff根本不
  • 关于如何在 Scala 中使用随机值向现有 DataFrame 添加新列

    我有一个带有镶木地板文件的数据框 我必须添加一个包含一些随机数据的新列 但我需要彼此不同的随机数据 这是我的实际代码 spark的当前版本是1 5 1 cdh 5 5 2 val mydf sqlContext read parquet s
  • 如何将 2D Excel 表格“展平”或“折叠”为 1D?

    我有一个 Excel 中包含国家和年份的二维表 例如 1961 1962 1963 1964 USA a x g y France u e h a Germany o x n p 我想 展平 它 这样我在第一列中包含国家 地区 在第二列中包
  • Java中如何进行多行输入

    我正在尝试在 Java 中获取多行用户输入并将这些行分成一个array 我需要这个来解决在线法官的问题 我正在使用一个Scanner接受输入 我无法确定输入的结尾 我总是遇到无限循环 因为我不知道输入的大小 即行数 用空字符串终止输入 单击
  • 发送内容类型 application/x-www-form-urlencoded WSO2 ESB

    我一直在一个服务链中工作 该服务链通过 WSO2 EMM 中使用的不记名令牌来回答我 我在 ESB 中创建了一个代理 然后传递给一个新的序列来进行下一次调用 但是这个序列接收到一个 Content Type application x ww
  • 当系统时间错误时,如何在javascript中获得正确的时间?

    let currentDate new Date CurrentDate与系统时间有关 所以如果系统时间错误 currentDate也会错误 您可以使用原子钟 API 例如世界时钟 http worldclockapi com api js
  • 有哪些学习泛型的好资源? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 谁能帮助我从哪里开始以及了
  • 从 mongo 结果中删除 _id

    我对 mongo 和 nodejs 还很陌生 我的查询结果是 json 我只想将结果作为 http 请求返回 如下所示 app get itesms function req res items find toArray function
  • 在Scala中动态生成案例类

    我想读取一个相当大的 csv 文件并对其进行处理 切片 切块 总结等 interactively 数据探索 我的想法是将文件读入数据库 H2 并使用SQL来处理它 阅读文件 我使用Ostermiller csv 解析器 确定每列的类型 我随
  • RabbitMQ 接受连接但在接受任何输入之前关闭它们

    所以我刚刚安装了最新版本的rabbitmq并且我一直在努力让它工作 服务器正在运行 我重新启动了一次 以确保这是一个一致的问题 If I telnet localhost 5672 I get Trying 127 0 0 1 Connec
  • 使用 PHP 按姓氏对 CSV 文件进行排序

    如何使用 PHP 对以下 CSV 文件进行排序 我想按姓氏排序 我是否使用正则表达式以某种方式获取姓氏中的第一个字母 任何帮助表示赞赏 这是我的 CSV 文件的摘录 带有 名称和地址之间的分隔符 John C Buckley M D 123
  • 将 ISO-8859-2 转换为 UTF-8(波兰语字符)

    我正在尝试解析 XML 文件 http jstryczek blox pl rss2 表示其字符集是 ISO 8859 2 我的数据库是UTF 8的 所以我想将其转换为UTF 8 为此 我在字符串上运行以下命令 content iconv
  • Bootstrap 4 响应式实用程序可见/隐藏 xs sm lg 不工作

    使用新的响应式实用程序时遇到问题隐藏 可见类 当迁移到引导程序4 我知道 hidden 类已经从 v3 中删除并替换 with hidden up hidden down 使用新的 hidden up hidden down类 但元素没有更
  • 多个 Jackson XML 自定义 (XMLStreamWriter) 序列化程序抛出异常

    如果有多个自定义 XML 序列化程序 XMLStreamWriter 在类中 序列化失败 我有两节课 CustomClass1 CustomClass2 有一个包装类TestJacksonXml1 当我尝试序列化时TestJacksonXm
  • 使用向量的 C++ 3D 数组声明

    我有一些 C 代码 其中使用 向量 通过以下方法声明 2D 数组 std vector
  • 如何在 WiX 3 中注册 Win32 COM DLL 文件?

    我找到了一个关于注册DLL的例子 使用 Windows Installer XML 工具集在 MSI 文件中注册 COM Interop 程序集 并且 WiX 抱怨 AssemblyRegisterComInterop 属性 我删除了它 并
  • gluonmobile 在 Android 操作系统上存在字体错误

    我在 github com 上创建了一个演示项目来展示这个错误 https github com ismlsmile TestGluonMobile 该项目是由模板 Gluon Mobile Single View Project 创建的
  • 在Android应用程序之间传递字符串数据

    在应用程序之间传递简单数据 例如字符串 的最佳方法是什么 字符串是发送者应用程序中已知的一些字段 并且接收者应用程序需要该字段 我考虑将其存储在 MODE WORLD READABLE SharedPreferences 中 但我不一定知道
  • 向后兼容 android 的导航抽屉

    我有一个应用程序有四种不同的活动 现在我想在应用程序中添加一个导航抽屉来导航这些活动 任何人都可以提供一个用于具有背词兼容性的不同活动的导航抽屉的示例或教程 我已经看到了片段的示例 但我需要活动的示例 您需要使用支持库中的 appcompa
  • WPF 将 2d 鼠标点击转换为 3d 空间

    我的 Viewport3D 中有几个几何网格 它们的边界为 w 1800 h 500 d 25 当用户单击网格中间时 我想要 900 500 25 的 Point3D 我怎样才能实现这个目标 谢谢 标记 只需使用VisualTreeHelp