簡體   English   中英

縮放時 WPF Map Position 的 GMap.Net 未更新

[英]GMap.Net for WPF Map Position is not updating when Zooming

我的WPF應用程序 UserControl 包含一個GMap控件。

    <UserControl x:Class="Test.test.Map"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:gmmapeprovider="clr-namespace:GMap.NET.MapProviders;assembly=GMap.NET.Core"
             xmlns:prism="http://prismlibrary.com/" 
             xmlns:windowspresentation="clr-namespace:GMap.NET.WindowsPresentation;assembly=GMap.NET.WindowsPresentation" prism:ViewModelLocator.AutoWireViewModel="True">
                <Grid >
                    <windowspresentation:GMapControl 
                    x:Name="mapView" MinZoom="1" 
                    Position="{Binding MapPosition}" 
                    MaxZoom="17" 
                    Zoom="{Binding MapZoom}" 
                    MouseWheelZoomEnabled="True"
                    MouseWheelZoomType ="MousePositionWithoutCenter" 
                    MapProvider="{x:Static gmmapeprovider:GoogleMapProvider.Instance}" 
                    CacheLoc="{Binding XmlFilePath}"
                    IgnoreMarkerOnMouseWheel="True"/>
                </Grid>
      </UserControl>

在此處輸入圖像描述

Map Position綁定到 UserControl 的 ViewModel 中的MapPosition屬性。 每次我使用鼠標右鍵平移 Map,單擊並拖動 function, MapPosition的值都會更新。

這是我的擔憂:我的期望是 Position 的值也應該更新,如果 map 被縮放,而鼠標指針不在控件的中心。 顯然,情況並非如此,Position 保持不變,除非再次平移 map。

我是否在這里遺漏了一些設置,或者是否有任何可能的解決方法來解決這個問題?

我檢查了源代碼,從第1740 行到第 1748行,事實證明,在 MouseWheel 縮放期間,非常_core._position是正在更新的,而不是GMapControl.Position 這意味着 UI 控件本身並不知道 position 已明顯更改。

這是我提出的拉取請求,希望它由所有者獲得。 我剛剛將_core._position替換為Position

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM