如何在XAML文件中的mapControl上为ImageTilesLayer提供自定义数据作为DataProvider?
我是WPF和DevExpress的新手。我正在尝试在DevExpress文档站点中给出的一些示例。
Link: How to Load Image Tiles from Another Source
在示例中,如何从其站点中给出的另一个源加载图像切片,ImageTilesLayer的DataProvider在代码隐藏文件中指定。 是否可以在XAML中提及相同的DataProvider而不是代码隐藏文件?
答案 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
了解有关缓存的更多信息