2016-06-06 68 views

回答

2

這不是一個新的頁面,它只是一個在地圖頂部的某種面板(如Grid或StackPanel)。您可以通過放置在網其他元素並設置其相應平移Y,像這樣實現:

<Grid x:Name="LayoutRoot"> 
    <maps:MapControl x:Name="Map"/> 

    <Grid x:Name="Overlay" Background="Red"> 
     <Grid.RenderTransform> 
      <CompositeTransform x:Name="OverlayTransform" TranslateY="300"/> 
     </Grid.RenderTransform> 
    </Grid> 
</Grid> 

然後你可以動畫OverlayTransform.TranslateY您認爲合適的。如果你想實現用戶交互滑動,你應該把手操控[開始/三角洲/竣工]事件,例如:

<Grid x:Name="Overlay" Background="Red" ManipulationMode="TranslateY" ManipulationDelta="Overlay_OnManipulationDelta"> 

... 


private void Overlay_OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs args) 
{ 
    OverlayTransform.TranslateY += args.Delta.Translation.Y; 
} 

從那裏你可以開始構建更復雜的邏輯,像一些錨點您面板或漂亮的滑入/滑出動畫。

+0

嗨,謝謝你的回答。我嘗試過'ManipulationDelta','ManipulationStart'和'ManipulationCompleted'事件。看起來像'ManipulationStart'和'ManipulationCompleted'正在工作,但'ManipulationDelta'不是。 「Overlay_OnManipulationDelta」函數內部不會觸發斷點。 – mnciitbhu

+0

完成!我錯誤地將'TranslateY'打錯了'TranslateRailsY'。 **我的錯**。謝謝 – mnciitbhu

+0

很高興幫助! –

相關問題