System.Drawing.Point' 到 'System.Windows.Point 的转换器

2024-01-06

我正在尝试在 WPF 中绘制一些实体。我的集合包含 System.Drawing.Rectangle 对象,当我尝试在 WPF XAML 中访问这些对象的位置时,出现以下错误

无法创建默认转换器来执行类型“System.Drawing.Point”和“System.Windows.Point”之间的“单向”转换。考虑使用 Binding 的 Converter 属性

我知道我必须使用一些值转换器。您能指导我如何将 System.Drawing.Point' 转换为 System.Windows.Point 吗?

Update:

以下代码给出了一些异常

public class PointConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        System.Windows.Point pt = (Point)(value);
        return pt;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

XAML:

<PathFigure StartPoint= "{Binding BoundingRect.Location, Converter={StaticResource PointConverter}}">

我猜你会有InvalidCastException,除非它们之间存在隐式或显式转换,否则不能将一种类型强制转换为另一种类型。请记住演员不同,转换也不同。以下代码转换System.Drawing.Point to System.Windows.Point反之亦然。

public class PointConverter : System.Windows.Data.IValueConverter
{
    public object Convert(object value, Type targetType,
        object parameter, CultureInfo culture)
    {
        System.Drawing.Point dp = (System.Drawing.Point)value;
        return new System.Windows.Point(dp.X, dp.Y);
    }

    public object ConvertBack(object value, Type targetType,
        object parameter, CultureInfo culture)
    {
        System.Windows.Point wp = (System.Windows.Point) value;
        return new System.Drawing.Point((int) wp.X, (int) wp.Y);
    }
}

If the System.Drawing.Point来自 Windows 窗体鼠标事件,例如单击事件、System.Drawing.Point不能直接转换为System.Windows.Point这样,由于每个坐标系可能不同。看https://stackoverflow.com/a/19790851/815724 https://stackoverflow.com/a/19790851/815724了解更多信息。

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

System.Drawing.Point' 到 'System.Windows.Point 的转换器 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • Sticky 命令如何影响 Tkinter 中的 python 代码?

    from tkinter import from tkinter import ttk root Tk root rowconfigure 0 weight 1 root columnconfigure 0 weight 1 frame t
  • 非全屏 UINavigationController

    是否可以以不使用整个窗口的方式使用 UINavigationController 我尝试过设置它的视图框架以及将其视图添加到另一个 非全屏 视图而不是窗口 但似乎都不起作用 您不能直接更改 UINavigationController 或其
  • 不要重写静态 css/js/img 文件

    我试图让我的 htaccess 文件不重写我的静态文件 js css images 这是我当前的 htaccess 文件 RewriteEngine on RewriteCond SCRIPT FILENAME f RewriteCond
  • 将字符串转换为字节数组,然后返回原始字符串

    在Java或Android中是否可以将字符串转换为字节数组 然后将其转换回原始字符串 我的目标是将一些字符串发送到微控制器 Arduino 并将其存储到 EEPROM 这是唯一的 1 KB 中 我尝试使用MD5 http en wikipe
  • ASP.Net 的最佳“加载”反馈?

    因此 我们有一个 ASP Net 应用程序 相当标准 并且有很多更新面板和回发 在某些页面上我们有
  • 如何通过 Cygwin 在 Windows 上安装 sshpass?

    在 CygWin 的包窗口中 当我输入 sshpass 时 什么也没有出现 我尝试安装类似的软件包 如 openssh 等 希望其中之一包含 sshpass 但没有运气 sshpass 不作为 Cygwin 软件包提供 这意味着您需要从源代
  • 在 Matlab 中从 .ravi 文件中提取温度

    我的问题 很像这里的帖子 如何从 ravi 文件获取数据 https stackoverflow com questions 58899981 how can i get data from ravi file 我有一个 ravi 文件 辐
  • 在 ggplot 中添加第二个 geom_tile 层

    我有一个相对简单的热图geom tile在ggplot2中 它只是一个由连续数据组成的小矩阵 如彩色框 df1 我想覆盖第二个逻辑 geom tile 来概述TRUE值 df2 这样的事可以做吗 我知道将两个热图添加在一起看起来很丑陋 但这
  • 我如何在 RFM.RFMID=PV.RFMID [重复] 上使用不同的 INNER JOIN RFM

    这个问题在这里已经有答案了 可能的重复 从多个表中获取数据 https stackoverflow com questions 11738574 get data from multiple table SELECT PM PMID RFM
  • 添加故事板视图作为以编程方式创建的视图的子视图

    我创建了一个特殊的 UIView 类 它具有某些属性 并且我以编程方式执行此操作 因为它通常是空白的 但有时会包含其他视图 我知道如果我以编程方式创建 UIView 我可以做类似的事情 specialView addSubview aVie
  • CKEditor + Yii 加载 AJAX:$_POST 不包含更新的值

    简而言之 我正在使用 Yii 框架 我的页面上有一个 Ckeditor 窗口 php yii 框架 工作正常 当我点击按钮时 会生成一个新的 CKeditor 窗口并通过 AJAX 调用显示 问题 这个新的 CKEditor 窗口正确显示数
  • 如何隐藏 HTML 页面的源代码

    我创建了一个 HTML 页面 现在想隐藏源代码并对其进行加密 我怎样才能做到这一点 您可以禁用右键单击 但这是一个坏主意 因为专家可以从您的页面读取任何内容 您无法完全隐藏页面源 这是不可能的 互联网上没有什么是足够安全的 无论如何 您都可
  • 等高列和垂直对齐列中的图像?

    想知道是否有人可以向我展示在图像列中垂直对齐图像并使列的高度等于文本列的最佳方法 CSS padding 0 margin 0 col width 50 float left height 100 col text background s
  • Mac 上的 Qt MySQL

    我浪费了大约 6 个小时试图按照网上的各种说明让 MySQL 与 Qt 一起工作 我现在就想把自己的手腕砍掉 有谁对如何将 QMYSQL 驱动程序安装到 Qt 中有简单和详细的解释吗 我有 Mac 10 6 我是初学者 我将衷心感谢您的帮助
  • Android 中的 Facebook Like 按钮集成

    我想在我的 Android 应用程序中集成 Facebook Like 按钮 请告诉我如何将其集成到 Android 中的步骤 我会尝试使用包含您从中获得的标准 html 集成的 webview 来完成此操作facebook http de
  • scp 或 sftp 使用单个命令复制多个文件

    我想将文件从远程服务器复制到不同的目录中 例如 我想同时运行这 4 个命令 scp remote A 1 txt local A 1 txt scp remote A 2 txt local A 2 txt scp remote B 1 t
  • 解析推送通知最终在 Android 后台崩溃

    我正在使用 Parse 在 android 中推送通知 但当我关闭 wifi 时 它最终会在后台崩溃 它给了我错误 java lang RuntimeException 无法启动接收器 com parse ParseBroadcastRec
  • 从单个 Hive UDF 创建多个列

    我正在使用 Amazon EMR 和 Hive 0 11 我正在尝试创建一个 Hive UDF 它将从一个 UDF 调用返回多个列 例如 我想调用如下所示的 UDF 并返回几个 命名的 列 SELECT get data columnnam
  • 在 Android 中使用工具栏实现正确的后退导航和主页按钮处理

    我在同一活动中使用单个活动和多个片段 附有屏幕截图 来提供无缝导航 但是在实现了最新的工具栏和导航视图之后 似乎很难处理导航和主页按钮 我在以下方面遇到麻烦 Managing the Hamburger Back button at lef
  • System.Drawing.Point' 到 'System.Windows.Point 的转换器

    我正在尝试在 WPF 中绘制一些实体 我的集合包含 System Drawing Rectangle 对象 当我尝试在 WPF XAML 中访问这些对象的位置时 出现以下错误 无法创建默认转换器来执行类型 System Drawing Po