3

如何在 XAML 文件中的 mapControl 上提供自定义数据作为 ImageTilesLayer 的 DataProvider?

我是 WPF 和 DevExpress 的新手。我正在尝试 DevExpress 文档站点中给出的一些示例。

链接:如何从其他来源加载图像块

在示例中,如何从他们网站中给出的另一个来源加载图像切片,ImageTilesLayer 的 DataProvider 是在代码隐藏文件中分配的。是否可以在 XAML 中提及相同的 DataProvider 而不是文件背后的代码?

4

2 回答 2

3

您可以在 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 的自定义类

于 2014-11-27T12:09:47.750 回答
1

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了解有关缓存的更多信息

于 2015-01-27T01:00:14.970 回答