将窗口放置在 WPF 控件的左上角

2023-12-01

我试图以某种方式放置一个窗口,使其左上角位于特定 WPF 控件左上角的同一点。
所以我尝试像这样获取控件的屏幕坐标:

 PresentationSource source = PresentationSource.FromVisual(ctrl);
 Point posFromScreen = ctrl.PointToScreen(new Point(0, 0));
 Point targetPoints = source.CompositionTarget.TransformFromDevice.Transform(posFromScreen);

然后我设置了Top and Left窗口坐标为targetPoints.
但我的窗口总是出现在控件的右侧,而不是在左上角与他重叠。

我究竟做错了什么?如何做呢?


写起来应该足够了

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

将窗口放置在 WPF 控件的左上角 的相关文章

随机推荐

  • matplotlib twinx 在循环内

    我有一个循环 在特定条件下 例如出现 3 次 我想用 twinx 绘制两个数据集 所以例如最后我在左 y 上有 3 个图 在右 y 上有 3 个图 当我使用通常的 twinx 时 循环的右 y 值不正确 我应该如何修改此示例代码才能使其正确
  • 何时要求子句表达式需要加括号? (偶然的双关语)

    这给出了一个错误 template
  • document.getElementById 替换 angular4 / typescript 中的?

    我在实践工作中使用 Angular4 这对我来说是新的 为了获取 HTML 元素及其值 我使用了
  • 如何在ListView列表项中添加节标题

    我想开发 国家历史 Android应用程序 但我有一个问题 我无法将国家 地区标题放入列表视图列表项中 我想放标题 例如 非洲 北非 撒哈拉以南非洲 亚洲 北亚 西亚和中亚 南亚和东南亚 欧洲 北美和中美洲 北美洲 大洋洲 南美洲 这是我的
  • 如何用多个分隔符分割字符串并保留分隔符?

    我有例如这个字符串 abc 现在 我想把它分成 分隔符 我知道我可以使用 String split 来实现这一点 但有没有办法可以通过这个符号来分割 if 但又不会丢失它 就像如果我使用 split 我会得到这个string abc 而且我
  • 用于维护计数器和聚合的 Firebase 控制服务器

    It s a 已知问题firebase 没有简单的方法来计算项目 我计划创建一个严重依赖计数和其他聚合的应用程序 我担心按照建议的规则创建此应用程序的计数器here将非常复杂且难以维护 所以我想到了这个模式 我将保留一个服务器来侦听数据库中
  • 强制 Sympy 在 MathJax Jupyter 中打印数学

    我正在使用 VSCode 和 Jupyter 来处理 Sympy 通常 它以 MathJax 格式打印数学方程 sympy 文档说 在IPython笔记本中 它将使用MathJax来渲染LATEX MathJax 输出 但是 当我安装 ma
  • 捕获 Mysqli 错误

    我定义了一个自定义错误处理程序 它捕获所有异常并将它们保存到日志中 现在 如果我在 mysqli 查询中出现语法错误 例如拼写错误 页面将在此时完全停止加载 不会引发异常 因此不会触发错误处理程序并且不会记录任何内容 这是正常的吗 我应该检
  • 如何渐变填充按钮的背景?

    我必须创建一个带有渐变填充的彩色按钮 从按钮的中间沿 Y 轴开始 如果我将按钮的背景属性设置为我想要的颜色 我会丢失rounded按钮的外观和感觉以及渐变填充 它看起来像TextView有背景 另外 我希望当用户按下按钮时改变这种颜色 我可
  • 在 jquery ajax 中使用动态数据实现自动完成

    我在 ASP Net MVC 应用程序中使用 Materialize ui 并且使用带有动态数据的自动完成控件 这是我的代码 div class row div class col s12 div class row div class i
  • 节点 module.exports 返回未定义

    我在使用 Node js 时遇到问题module exports 我明白那个module exports是返回一个对象的调用 该对象具有为其分配的任何属性 如果我有这样的文件结构 formatting js function Format
  • 锁助手的线程安全使用(关于内存屏障)

    我所说的锁定助手指的是一次性对象 可以通过它来实现锁定using声明 例如 考虑一个典型的用法SyncLock班级来自乔恩 斯基特的 MiscUtil public class Example private readonly SyncLo
  • 替换python中的特殊字符

    我有一些来自网络的文字 6 49 显然我希望它显示为 6 49 到目前为止我已经尝试过以下操作 s url title s s encode utf8 s s replace u 还有一些变体 在同一个论坛上找到它之后 但仍然没有运气 因为
  • 理解Python的枚举

    在转向 python 之前 我开始自学一些 c 并且习惯于编写循环 例如 for int i 0 i lt 20 i cout lt lt value of i lt lt i lt lt endl 转向 python 我经常发现自己使用类
  • Infinispan - 设置每个实体的expiration.lifespan

    我在 Jboss 6 1 0 上部署了一个 java Web 应用程序 它使用 infinispan 5 2 6 Final 我正在尝试设置每个实体特定的有效期遵循本指南 http infinispan org docs 5 2 x use
  • 为 .NET 项目选择数据库和 ORM

    我正在开发一个在客户端使用 Silverlight 的 NET 应用程序 现在我已经到了我想扔掉服务器端的静态虚拟数据并添加数据库的地步 对于数据库 我喜欢使用 ORM 之一 我可以在其中简单地标记我的模型类 并且数据库表是为我构建的 我之
  • 将 JavaScript 函数作为参数传递

    如何将函数作为参数传递 而无需在 父 函数中执行该函数或使用eval 因为我读到它是不安全的 我有这个 addContact entityId refreshContactList 它有效 但问题是refreshContactList当调用
  • 如何将修改/包装的 HTTPServletRequest 传递给后续的 Zuul Filter?

    我们有一个 Zuul 预过滤器 Filter1 它将检查传入的 HTTPServletRequest 并对其中的查询参数进行一些更改 以将其嵌入到自定义创建的请求中 包装 HttpServletRequestWrapper 现在 我想将这个
  • 如何通过Retrofit和GsonConverter处理JSONP响应?

    我需要解析来自 Flickr API 的响应 它以 json Flickr Feed jQuery 回调函数返回响应 这不是有效的 JSON 响应 我知道我们可以使用以下方法删除 Flickr API 的 JSON 回调方法nojsonca
  • 将窗口放置在 WPF 控件的左上角

    我试图以某种方式放置一个窗口 使其左上角位于特定 WPF 控件左上角的同一点 所以我尝试像这样获取控件的屏幕坐标 PresentationSource source PresentationSource FromVisual ctrl Po