我正在为WPF尝试Bing Maps控件,这让我很生气。
我无法弄清楚如何访问内置比例尺,以便我可以将单位更改为公制。
我可以添加新的比例尺,指南针等等,但无法访问默认值。
任何人都知道如何做到这一点?
答案 0 :(得分:4)
一个老问题,但有一个更简单的方法来做到这一点。只需将地图上的Culture属性设置为使用指标的国家/地区。
例如:
<m:Map
x:Name="MapObject"
CredentialsProvider="YOUR_KEY"
Center="-38.1231102,145.2116017"
ZoomLevel="11"
Mode="Aerial"
Culture="en-au"
/>
答案 1 :(得分:1)
在这里,你好友。对于在互联网上发布FindVisualChild方法的人,可以获得信用。
void SomeMethod()
{
var mapScale = FindVisualChild<Scale>(YourBingMapControl);
mapScale.DistanceUnit = DistanceUnit.KilometersMeters;
}
static TChildItem FindVisualChild<TChildItem>(DependencyObject obj) where TChildItem : DependencyObject
{
// Search immediate children first (breadth-first)
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is TChildItem)
return (TChildItem)child;
else
{
var childOfChild = FindVisualChild<TChildItem>(child);
if (childOfChild != null)
return childOfChild;
}
}
return null;
}