WPF – C# – 在代码隐藏中创建和设置图像坐标

我目前正在根据我的AI兴趣开发一个WPF应用程序。我编写了一个均匀成本搜索算法(路径查找),并希望以图形方式展示它。路径应被找到并显示在图表上,用户可以调整图表。

我在WPF技术方面还是新手,我更多地使用WinForms,现在在创建和管理图形元素方面遇到了问题。

换句话说 – 我希望提供一个机会,让用户点击数据网格并创建自己的节点(比如地图上的一个位置),这个节点由一张图片表示,当你有几个节点时,你可以选择其中两个并连接它们以建立连接,最后你可以选择你的起点和终点,算法将显示最短路径(为合适的连接着色)。

就是这样。

带界面的图片

我从添加一个CreateNode方法开始,该方法获取点击的坐标并创建一个具有正确X和Y的点。现在的问题是如何在那个特定位置创建一个图像。

我在Stack上阅读了一些问题,并尝试使用Image和BitmapImage类编写一些东西,但仍然不知道如何将它放置在特定位置。我读到了关于操作边距的内容,但没有更简单的解决方案吗?

这是部分图像加载代码:

        public void CreateNode(Node n)        {        Point point = new Point(n.X, n.Y);        Image node = new Image();        BitmapImage logo = new BitmapImage();        logo.BeginInit();        logo.UriSource = new Uri("point.png");        logo.CacheOption = BitmapCacheOption.OnLoad;        logo.EndInit();        node.Source = logo;        }

如果有人对如何在图形方面创建这些方法有任何想法,我将非常感激。

提前感谢

Paweł

编辑:有人建议我为我的代码问题创建一个新主题,所以在这里 这里


回答:

将我的评论移动到答案中以提供更多信息。

关于定位,我建议观看这个关于高级XAML技术的视频。他使用自定义的ItemsControl和Canvas来绑定送货卡车的经纬度,以图形方式显示在地图上。我认为他的一些技术可能适用于你的情况(或给你更多想法)。我已经链接到相关部分开始的时间戳。

相关演示的源代码在这里可用。参见事件 – 2014年TechEd欧洲 – DEV-B311 XAML技术 – 演示05

你所做的事情与视频的主要区别是他使用Paths而你想使用图像。你需要更改App.xaml.cs中的DataTemplates以使用图像。

该视频假设你对MVVM有一定的了解,所以如果这对你来说是新的,可能值得查看一个教程。你可以在这个问题的答案中找到一些推荐。我还推荐Rachel Lim的博客上的一个。我发现她的教程非常有用。

第一个链接的教程看起来对你会很有用。除了基础知识外,它还包括在DataTemplates中使用图像。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注