gpt4 book ai didi

c# - 双向绑定(bind)导致 wp7 的 map 控件出现奇怪的行为

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:59 24 4
gpt4 key购买 nike

我正在使用 map 控件为 Windows Phone 开发应用程序。 map 控件将其 center 和 zoomlevel 属性绑定(bind)到 View 模型上的两个属性。

map 控件位于与应用程序主页分开的页面上。每次用户移动到 map 时,页面都会绑定(bind)到 View 模型。这个 View 模型是一个单例(总是同一个实例)。

我第一次移动到 map 时,在 map 上导航工作正常,但当我返回并再次导航到 map 时,导航有某种弹跳,就像它被推回到其初始位置一样。要查看此行为,请执行以下操作:

  • 单击主页上的按钮导航到 mapPage bij。此时 map 控件按预期工作。
  • 点击后退按钮返回主页。
  • 再次点击主页上的按钮,第二次导航到 map 页面。现在,当滑动 map 时,控件会在滑动前弹回到原始位置,从而表现得很奇怪。

主页仅包含一个导航至 map 页面的按钮,如下所示:

<phone:PhoneApplicationPage 
x:Class="MapTester.Map"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:maps="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
shell:SystemTray.IsVisible="True"
DataContext="{Binding Path=MapViewModel, Source={StaticResource ViewModelLocator}}">

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<maps:Map Center="{Binding Center, Mode=TwoWay}"
ZoomLevel="{Binding ZoomLevel,Mode=TwoWay}"
ZoomBarVisibility="Visible"
CredentialsProvider=""
ScaleVisibility="Visible"></maps:Map>
</Grid>

</phone:PhoneApplicationPage>

MapViewModel 在 ViewModelLocator 上定义。我创建了一个解决方案来演示当时的问题。可以在这里下载https://skydrive.live.com/?cid=25374d9051083633&sc=documents&id=25374D9051083633%21344#

有人知道如何解决这个问题吗?

谢谢!

最佳答案

我不明白这里有什么问题吗?除非您向后导航(因此不设置 DataContext),否则 Bing map 将始终执行从全局 View 到中心位置的“弹跳”动画。这就是控件的工作方式,所以您对此无能为力。

关于c# - 双向绑定(bind)导致 wp7 的 map 控件出现奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7223590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com