グリッド内に、その行の1つを埋める単純なマップがあります。ユーザーがマップをタップしたときに、画面サイズ全体(おそらくアニメーションで)を埋めたいと思います。
これは、マップウィジェットを備えたグリッドです。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Grid x:Name="stackPanel">
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Maps:Map x:Name="storesMap" Grid.Row="0" Center="{Binding MapCenter, Mode=TwoWay}" ScaleVisibility="Visible" CopyrightVisibility="Collapsed" LogoVisibility="Visible" Visibility="Collapsed" Tap="storesMap_Tap" VerticalAlignment="Top" ZoomBarVisibility="Collapsed" Margin="9,0,12,12" CredentialsProvider="AgKbZTg6fSdp1j_edOa7hCUc6mUoj6duKABt8hMu_PHEG7JjaAJBWqkdODjctYDG">
<Maps:Map.RenderTransform>
<CompositeTransform/>
</Maps:Map.RenderTransform>
<Maps:MapLayer x:Name="myPushpinLayer">
<Maps:MapItemsControl x:Name="storePin" ItemsSource="{Binding StoresPinList}" />
</Maps:MapLayer>
</Maps:Map>
<StackPanel x:Name="WaitingControls" Grid.Row="1" VerticalAlignment="Center" Margin="0,24,0,0">
.....
これは、マップのサイズを変更し、PageTitleとApplicationTitleを0に暗くするアニメーション(その一部)です。
<VisualState x:Name="FullscreenMap">
<Storyboard Duration="00:00:0.3">
<DoubleAnimation To="0" Duration="00:00:0.3" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="PageTitle" d:IsOptimized="True"/>
<DoubleAnimation To="0" Duration="00:00:0.3" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ApplicationTitle" d:IsOptimized="True"/>
<DoubleAnimation From="188" To="800" Duration="00:00:0.3" Storyboard.TargetProperty="Height" Storyboard.TargetName="storesMap"/>
<DoubleAnimation From="435" To="480" Duration="00:00:0.3" Storyboard.TargetProperty="Width" Storyboard.TargetName="storesMap"/>
<DoubleAnimation From="0" Duration="00:00:0.3" To="-161" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="storesMap" d:IsOptimized="True"/>
<DoubleAnimation From="0" Duration="00:00:0.3" To="-21" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="storesMap" d:IsOptimized="True"/>
.....
問題は、マップが画面全体にうまくサイズ変更されることです(そして、0,0が右上隅に移動します)が、それ(実際のマップ)をドラッグすることはできません!!! 画面上部の元のサイズ(アニメーション前)とサイズが一致する領域でドラッグを開始した場合にのみ、ドラッグできます。これは、マップ全体に沿ってサイズを変更しなかった一種のビュー(タッチ/ドラッグイベントの受信を担当するビュー)があるようなものです。
その上にある画鋲層でさえ「カット」されます。ピンが上部の元の表示可能なサイズを超えると、マップが画面の下部まで正常に表示されている場合でも、ピンは(画面の外側にあるかのように)カットされます。
なぜか?
アニエロ