我想在我的 silverlight 应用程序中为 Bing 地图控件实现自定义缩放滑块。我可以用一种非常简单的方式设置它的机制:
<Slider ... Value="{Binding ZoomLevel, Mode=TwoWay, ElementName=MyMap}"/>
但是,我找不到将滑块的最大和最小属性绑定到地图的最大和最小可用缩放级别的方法。我使用默认视图(道路、空中),没有自定义图块集或任何奇特的东西。
我尝试过这样的事情:
Maximum="{Binding Path=Map.Mode.ZoomRange.To, Mode=TwoWay}"
Minimum="{Binding Path=Map.Mode.ZoomRange.From, Mode=TwoWay}"
但这是行不通的。当我的地图加载时,最小值设置为 0.0,最大值设置为 1.0。 Map.Mode.ZoomRange 的实际值是 1.0 和 17.0(对于我现在正在查看的特定位置。最大值根据地图的中心位置而变化)。
如何将这些属性绑定到我的新自定义滑块?
你将无法像这样绑定,因为Mode
不是依赖属性也不是MapMode
一个依赖对象。链中的任何其他属性都没有,也没有实现INotifyPropertyChanged
。所以绑定这些几乎是注定的。
您将需要一些代码。可能是地图的ModeChanged
当范围更改时会触发事件,在这种情况下您可以更新该点的最小值/最大值。
未能使用视图更改事件之一,例如TargetViewChanged
or ViewChangeEnd
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)