c# - 使用 WPF 显示 map

标签 c# wpf canvas

我是 WPF 的新手,对 GUI 编码也比较陌生,所以如果这对某些人来说似乎很明显,请耐心等待。

我正在尝试使用 WPF/C# 显示随机生成的 map ,以模拟传播 RF 信号的行为。每个 map 坐标可以包含零个或多个项目——它可以是建筑物、车辆、动物群或地理数据(没有表示平坦的草地)。我想在窗口或页面上向用户显示它。但我不知道怎么办。

我最初的想法是一个带有预定义方法的 Canvas 来绘制项目。但是 map 会很大,我只想在任何时候向用户显示 map 的一小部分。

所以,我想知道的是,我能否创建一个 Canvas ,在上面绘制我想要的内容,然后只向用户显示其中的一小部分?如果不是,或者这并不简单,是否有更好的方法?我也不一定想要一个具体的答案 - 一个更通用的解决方案会更好(即告诉我我需要使用“Blah”和“Blah blah”会比写出整个代码更好 - 我喜欢学习通过实际操作尽可能多地了解这些事情,而不是复制和粘贴)。

谢谢。

大卫

最佳答案

这里有一些想法:

您可以尝试直接通过 GraphicsContext 绘制对象。 Here你会找到一个概述。

另请查看 CompositionTarget.Rendering ,它还允许您渲染 per frame (尽可能)。

如果图形密集,也许查看 XNA-framework 也是个好主意.

关于c# - 使用 WPF 显示 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989076/

相关文章:

c# - 添加到 Outlook c# 中的现有功能区

c# - 对 System.data.entity.design.dll 的引用不起作用

wpf - 在鼠标悬停时更改 DataGrid ScrollBar 的可见性?

javascript - 在kinetic js中拖动一个形状也会移动一个不相关的形状

javascript - Safari 和 Firefox 使用 Canvas 显示锯齿线

HTML5 和 Canvas 滚动 : trick interesting or useless?

c# - 如何针对机器存储验证 SignedXml 中的证书

c# - 具有多个 WHERE 条件的 SQLite 数据库查询

wpf - 当我按“开始”时,Visual Studio 2012 不会启动应用程序

c# - EF 6 中缺少 QueryableExtensions