WinRT에서 많은 애니메이션이 중간 값을 표시하지 않거나 마우스를 움직이거나 다른 시스템 이벤트가 발생하면 이상하게 표시합니다. 애니메이션이 끝나면 값은 올바르게 설정되지만 실행하는 동안 (내 경우에는 애니메이션의 2 초 길이) 중간 값은 표시되지 않습니다.WinRT 애니메이션에 중간 값이 표시되지 않음
2 초 후에 창이 사라지지만 X 키를 누를 때 튀어 나오지 않는 경우가 있습니다. 일부는 애니메이션 중에 마우스를 움직이면 볼 수 있지만 일반적으로 XAML 그래프가 더 복잡한 경우에만 발생합니다 .
<Grid Background="#525252">
<Grid x:Name="AnimatedDialog"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Grid.Projection>
<PlaneProjection />
</Grid.Projection>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border Grid.RowSpan="2"
Grid.ColumnSpan="2"
Background="White"
BorderBrush="#2E2E2E"
BorderThickness="1" />
<Border Background="#2E2E2E" />
<TextBlock Grid.Row="0"
Grid.Column="0"
Margin="10,5"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Segoe UI"
FontSize="20"
FontWeight="SemiBold"
Text="{Binding Title,
ElementName=Root,
FallbackValue='This is the title'}" />
<Border Grid.Row="0"
Grid.Column="1"
Width="40"
Height="40"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Background="#BD0000"
BorderThickness="0"
Padding="0"
PointerReleased="CloseBorder_OnPointerReleased" />
<TextBlock Grid.Row="0"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Segoe UI Symbol"
FontSize="22"
Foreground="White"
IsHitTestVisible="False"
Text="❌" />
<TextBlock Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
Width="550"
Height="360"
Margin="10"
FontSize="22"
Foreground="Black"
IsHitTestVisible="False"
Text="Bacon ipsum dolor amet boudin ground round drumstick porchetta prosciutto spare ribs short ribs bresaola leberkas hamburger sirloin shank tri-tip turkey strip steak. Rump boudin shank, ham hock bresaola shankle shoulder. Alcatra landjaeger kevin tail hamburger turducken flank pork. Meatloaf turducken leberkas, pig sausage pancetta ground round. Beef kevin swine tongue ham hock bacon shoulder leberkas kielbasa rump capicola ribeye chicken shankle venison. Biltong ball tip prosciutto, t-bone cow pork ribeye pancetta strip steak jowl ham drumstick landjaeger short ribs andouille. Turducken tail shankle bacon, pork turkey filet mignon ham pig."
TextWrapping="WrapWholeWords" />
</Grid>
</Grid>
그리고 뒤에 코드 :
private void CloseBorder_OnPointerReleased(object sender, PointerRoutedEventArgs e)
{
// Spin AnimatedDialog to close.
var storyboard = new Storyboard();
var projection = AnimatedDialog.Projection as PlaneProjection;
projection.CenterOfRotationY = 0.5;
var flipAnim = new DoubleAnimation();
Storyboard.SetTarget(flipAnim, projection);
Storyboard.SetTargetProperty(flipAnim, "RotationX");
// 2 second flip
flipAnim.Duration = new Duration(new TimeSpan(0, 0, 2));
flipAnim.EasingFunction = new QuadraticEase {EasingMode = EasingMode.EaseIn};
flipAnim.From = 0;
flipAnim.To = 90;
storyboard.Children.Add(flipAnim);
storyboard.Completed += StoryboardOnCompleted;
storyboard.Begin();
}
private void StoryboardOnCompleted(object sender, object o)
{
Debug.WriteLine("Completed storyboard.");
}
나를 위해 그 라인을 추가해도 아무런 효과가 없습니다. 나는 당신이 마우스를 움직이고 있다고 생각한다. (원래의 질문을 더 자세히 읽는다.) X를 클릭 한 후에 마우스를 계속 움직여 볼 수 있습니까? 몇 번 시도해보고 무슨 일이 일어나는지 알려주세요. –
나는 마우스를 움직이지 않을 것이다. 나는 당신이 물었던 것과 똑같이 움직였습니다. 그러나 구현시 2 개의 라인이 변경되었으며 마우스를 움직이지 않고도 100 %의 시간이 걸렸습니다. 변경된 내용을 보려면 코드의 주석을 확인하십시오. – Laith
두 줄을 실제로 바꿨지 만 마우스를 움직일 때만 작동합니다. 클릭하는 동안 마우스를 계속 움직이고 있다고 확신합니까? –