Windowsストアアプリの場合
XAML
<Page
x:Class="FunctionTest.BlankPage1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:FunctionTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Page.Resources>
<Storyboard x:Name="FloatingFlipOver">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetZ)" Storyboard.TargetName="FloatingRoot">
<EasingDoubleKeyFrame KeyTime="0" Value="-2000"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<QuarticEase/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="FloatingRoot">
<EasingDoubleKeyFrame KeyTime="0" Value="180"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<QuarticEase/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="FloatingRoot">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Page.Resources>
<Grid>
<Grid x:Name="FloatingRoot" Visibility="Collapsed" Width="500" Height="300">
<Grid.Projection>
<PlaneProjection CenterOfRotationX="0.5" CenterOfRotationY="0.5"/>
</Grid.Projection>
<Rectangle x:Name="FloatingBackground" Fill="SkyBlue" />
<FlipView>
<Grid x:Name="FloatingContainer" Width="300" Height="300">
</Grid>
</FlipView>
</Grid>
<Button Content="Test" HorizontalAlignment="Left" Margin="46,36,0,0" VerticalAlignment="Top" Click="Test_Click"/>
</Grid>
</Page>
コード
private void Test_Click(object sender, RoutedEventArgs e)
{
Button msiBtn = new Button();
msiBtn.Content = "addBtn";
msiBtn.Width = 100; msiBtn.Height = 50;
msiBtn.Tapped += msiBtn_Tapped;
FloatingContainer.Children.Add(msiBtn);
FloatingRoot.Opacity = 0;
FloatingRoot.Visibility = Visibility.Visible;
FloatingFlipOver.Begin();
}
void msiBtn_Tapped(object sender, TappedRoutedEventArgs e)
{
FloatingRoot.Visibility = Visibility.Collapsed;
FloatingContainer.Children.Clear();
}
これはマウスで使用すると機能しますが、FloatingContainerに追加されたボタンに触れると折りたたまれ、FloatingContainer(ボタンではなく)に触れてもクラッシュすることがあります。バグですか?