首页 文章

Windows Phone上的LayoutTransformer未更新

提问于
浏览
0

我正在使用位置服务和Bing Map 开发WP7应用程序 . 我希望Bing Maps控件旋转到始终将当前 Headers 放在顶部 . 我理解这对于Bing Maps Control是不可能的,所以我试图使用旋转变换来旋转整个控件 .

我正在使用此处找到的LayoutTransformerOnWindowsPhone程序集:

http://blogs.msdn.com/b/delay/archive/2010/08/26/your-phone-can-turn-into-a-robot-layouttransformer-works-great-on-the-windows-phone-platform.aspx

当页面加载时,控件旋转到正确的 Headers ,但是当 Headers 改变时它不会继续旋转 . 这是我的代码:

XAML:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <toolkit:LayoutTransformer>
        <toolkit:LayoutTransformer.LayoutTransform>
            <RotateTransform x:Name="mapRotation" />
        </toolkit:LayoutTransformer.LayoutTransform>
        <my:Map Name="map1" Margin="0,0,0,0" CredentialsProvider="xyz"/>
    </toolkit:LayoutTransformer>
</Grid>

CS:

if (Compass.IsSupported)
{
    _compass = new Compass {TimeBetweenUpdates = TimeSpan.FromMilliseconds(500)};
    _compass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(compass_CurrentValueChanged);
    _compass.Start();
}    

void compass_ValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)
{
    Dispatcher.BeginInvoke(() => UpdateUI(e.SensorReading));
}

private void UpdateUI(CompassReading compassReading)
{
    _currentHeading = compassReading.TrueHeading;
    mapRotation.Angle = _currentHeading;
}

1 回答

相关问题