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

时间:2014-11-27 02:26:04

标签: xaml devexpress devexpress-wpf

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

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

Link: How to Load Image Tiles from Another Source

在示例中,如何从其站点中给出的另一个源加载图像切片,ImageTilesLayer的DataProvider在代码隐藏文件中指定。 是否可以在XAML中提及相同的DataProvider而不是代码隐藏文件?

2 个答案:

答案 0 :(得分:3)

您可以按如下方式在XAML中分配ImageTilesLayer.DataProvider属性:

<dxc:MapControl>
    <dxc:ImageTilesLayer>
        <dxc:ImageTilesLayer.DataProvider>
            <local:CustomMapDataProvider/>
        </dxc:ImageTilesLayer.DataProvider>
    </dxc:ImageTilesLayer>
</dxc:MapControl>

P.S。
有关XAML属性语法的详细信息,请参阅XAML Overview (WPF)-> Property Element Syntax MSDN文章 有关XAML中自定义类型的详细信息,请参阅XAML and Custom Classes for WPF

答案 1 :(得分:1)

Coding Horror,我建议你先阅读DevExpress提供的教程。 链接到教程如下。

https://documentation.devexpress.com/#WPF/CustomDocument10682

它解释了地图控制上的不同图层。

阅读完毕后,请阅读如何从不同来源加载图片 https://documentation.devexpress.com/#wpf/CustomDocument11174

在代码中,不是提供网址,而是将其更改为已缓存所有地图图块的本地图像文件夹。

 public class CustomTileSource : MapTileSourceBase {
    const string roadUrlTemplate = 
        @"http://{subdomain}.tile.openstreetmap.org/{tileLevel}/{tileX}/{tileY}.png";

您可以在https://documentation.devexpress.com/#WPF/CustomDocument12205

了解有关缓存的更多信息