[英]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.