触摸MapControl XAML以设置路由的方法

时间:2013-07-06 02:59:28

标签: c# wpf xaml visual-studio-2012 map

我在Winform应用程序中实现了一个WPF MapControl控件。

(基本上,将WPF用户控件项目添加到您的Winform解决方案。拖放任何WPF控件。我选择了DevExpress WPF MapControl,但Microsoft的变体或任何其他控件的工作方式都很好。构建项目一次,然后拖放随后出现在Winform项目中的控件。如果您希望设置/获取任何属性或公开任何方法,您将转到相关的C#代码并将其公开。)

问题: 我想创建一个方法,它有两个GeoPoint参数(经度/纬度对)。然后,该方法将使用BingMaps或OpenMapDocs显示最佳路线,以显示从A点到B点的路线,想想谷歌地图。我会从Winform端的按钮或链接调用此方法。

现在,我明白了如何实现过渡和方法。去过那里,做到了,可以这么说。我在控件后面的代码中有两个GeoPoint经度/纬度对。

我的问题是如何处理XAML方面。我对WPF和XAML方面并不熟悉。

DevExpress说:

  

必须在XAML用户控件中配置路由数据服务。

这不是最有帮助的。

有什么想法吗?

我正在使用.Net 4.5。

这是DevExpress MapControl的XAML代码。问题与Microsoft MapControl相同。两个代码共享非常相似的XAML,至少从我的视觉上看它。

<UserControl x:Class="bvMaps.MapDevex" 
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
            xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map"
            mc:Ignorable="d"
            VerticalAlignment="Stretch"
            HorizontalAlignment="Stretch">
    <Grid x:Name="MapContainer">
        <dxm:MapControl HorizontalAlignment="Left" Margin="0,0,0,0" Name="mapControl1" VerticalAlignment="Top">
            <dxm:InformationLayer>
                <dxm:InformationLayer.DataProvider>
                    <dxm:BingSearchDataProvider BingKey="myBingKey"/>
                </dxm:InformationLayer.DataProvider>
            </dxm:InformationLayer>
            <dxm:InformationLayer>
                <dxm:InformationLayer.DataProvider>
                    <dxm:BingGeocodeDataProvider BingKey="myBingKey"/>
                </dxm:InformationLayer.DataProvider>
            </dxm:InformationLayer>
            <dxm:InformationLayer>
                <dxm:InformationLayer.DataProvider>
                    <dxm:BingRouteDataProvider BingKey="myBingKey"/>
                    </dxm:InformationLayer.DataProvider>
                </dxm:InformationLayer>
            <dxm:ImageTilesLayer Margin="0,0,0,0">
                <dxm:ImageTilesLayer.DataProvider>
                    <dxm:BingMapDataProvider Kind="Road" BingKey="myBingKey"/>
                </dxm:ImageTilesLayer.DataProvider>
                </dxm:ImageTilesLayer>
        </dxm:MapControl>
    </Grid>
</UserControl>

0 个答案:

没有答案