Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF中集成GMap.NET?如何在WPF中使用GMap.NET winforms控件?_C#_Wpf_Winforms_Gmap.net - Fatal编程技术网

C# 如何在WPF中集成GMap.NET?如何在WPF中使用GMap.NET winforms控件?

C# 如何在WPF中集成GMap.NET?如何在WPF中使用GMap.NET winforms控件?,c#,wpf,winforms,gmap.net,C#,Wpf,Winforms,Gmap.net,我不明白如何在WPF中集成GMap.NET。我正在尝试使用XAML来实现它,但没有任何想法。我正试着这样做:。但这对我不起作用。那么,怎么做呢 我有WPF应用程序,想在WPF窗口中使用GMap.NET lib winforms控件。Smth与此类似,但在WPF中: 另外,一般来说,如何在WPF中使用WinForms控件参数?例如,如何更改地图提供程序?在winforms中这很简单,但是如何在WPF中实现呢?我被绊倒了,所以。更改mapprovider的示例: gmap.MapProvider =

我不明白如何在WPF中集成GMap.NET。我正在尝试使用XAML来实现它,但没有任何想法。我正试着这样做:。但这对我不起作用。那么,怎么做呢

我有WPF应用程序,想在WPF窗口中使用GMap.NET lib winforms控件。Smth与此类似,但在WPF中:

另外,一般来说,如何在WPF中使用WinForms控件参数?例如,如何更改地图提供程序?在winforms中这很简单,但是如何在WPF中实现呢?我被绊倒了,所以。更改mapprovider的示例:

gmap.MapProvider = GMap.NET.MapProviders.ArcGIS_World_Street_MapProvider.Instance;
或者,也许,我只是走错了路?我是WPF的新手

将GMap NET引用添加到您的项目中,以便在引用列表中有GMap.NET.Core和GMap.NET.WindowsPresentation 在XAML文件中,使用其他名称空间xmlns声明,添加

xmlns:gmaps="clr-namespace:GMap.NET.WindowsPresentation;assembly=GMap.NET.WindowsPresentation"
将GMap NET对象添加到XAML主体中您希望它去的地方,例如


在winforms中有一个控件可以用来在内部托管wpf控件,我敢打赌wpf中也有它的机会——一个可以在内部托管winforms控件的控件。是的,我知道。但我不明白如何正确使用它。对不起,我自己对WPF很陌生,从未尝试在WPF窗口中托管winforms控件…命名空间GMap.NET.WindowsPresentation中有一个用于WPF的。它有一个MapProvider属性。@ValerikPunk,您应该使用WPF控件来实现它。也有。您可以添加WinForms控件,但不要这样做,因为您有一个WPF控件。是否有任何替代品用于gmap.DisableFocusOnMouseCenter for WPF?我不确定是否使用过它。它有什么作用? <Grid> <gmaps:GMapControl x:Name="mapView" Loaded="mapView_Loaded" /> </Grid>

        private void mapView_Loaded(object sender, RoutedEventArgs e)
        {
            GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;
            // choose your provider here
            mapView.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
            mapView.MinZoom = 2;
            mapView.MaxZoom = 17;
            // whole world zoom
            mapView.Zoom = 2;
            // lets the map use the mousewheel to zoom
            mapView.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
            // lets the user drag the map
            mapView.CanDragMap = true;
            // lets the user drag the map with the left mouse button
            mapView.DragButton = MouseButton.Left;
    }