如何在 XAML 文件中的 mapControl 上提供自定义数据作为 ImageTilesLayer 的 DataProvider?
我是 WPF 和 DevExpress 的新手。我正在尝试 DevExpress 文档站点中给出的一些示例。
在示例中,如何从他们网站中给出的另一个来源加载图像切片,ImageTilesLayer 的 DataProvider 是在代码隐藏文件中分配的。是否可以在 XAML 中提及相同的 DataProvider 而不是文件背后的代码?
如何在 XAML 文件中的 mapControl 上提供自定义数据作为 ImageTilesLayer 的 DataProvider?
我是 WPF 和 DevExpress 的新手。我正在尝试 DevExpress 文档站点中给出的一些示例。
在示例中,如何从他们网站中给出的另一个来源加载图像切片,ImageTilesLayer 的 DataProvider 是在代码隐藏文件中分配的。是否可以在 XAML 中提及相同的 DataProvider 而不是文件背后的代码?
您可以在 XAML 中分配ImageTilesLayer.DataProvider属性,如下所示:
<dxc:MapControl>
<dxc:ImageTilesLayer>
<dxc:ImageTilesLayer.DataProvider>
<local:CustomMapDataProvider/>
</dxc:ImageTilesLayer.DataProvider>
</dxc:ImageTilesLayer>
</dxc:MapControl>
PS
有关 XAML 属性语法的详细信息,请参阅XAML 概述 (WPF)-> 属性元素语法MSDN 文章。
有关 XAML 中的自定义类型的详细信息,请参阅XAML 和 WPF 的自定义类。
Coding Horror,我建议你先阅读 DevExpress 给出的教程。教程链接如下。
https://documentation.devexpress.com/#WPF/CustomDocument10682
它解释了地图控制上的不同层。
阅读后,请阅读如何从不同来源加载图像 https://documentation.devexpress.com/#wpf/CustomDocument11174
在代码中,不要提供 url,而是将其更改为缓存了所有地图图块的本地图像文件夹。
public class CustomTileSource : MapTileSourceBase {
const string roadUrlTemplate =
@"http://{subdomain}.tile.openstreetmap.org/{tileLevel}/{tileX}/{tileY}.png";
您可以在https://documentation.devexpress.com/#WPF/CustomDocument12205了解有关缓存的更多信息