我知道這個問題已經提出,但提供的解決方案(
這些是我的代碼(沒有發布不必要的代碼):
XAML:
<Window x:Name="GanjAsemanMainWindow" x:Class="Ganj_Aseman.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Ganj_Aseman"
mc:Ignorable="d"
Loaded="GanjAsemanMainWindow_Loaded" AllowsTransparency="True" Background="Transparent" FontSize="13" Height="535" ResizeMode="CanResizeWithGrip" Title="MainWindow" Width="764" WindowStyle="None">
<Window.RenderTransform>
<RotateTransform CenterX="{Binding}" CenterY="{Binding}" Angle="{Binding}"/>
</Window.RenderTransform>
<Window.Resources>
<Storyboard x:Key="WindowRotation">
<DoubleAnimation BeginTime="00:00:00" SpeedRatio="0.9" Duration="00:00:2" Storyboard.TargetName="GanjAsemanMainWindow" From="0" To="360" AutoReverse="False" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"/>
</Storyboard>
</Window.Resources>
<Grid>
<Image x:Name="MinimizeIconImage" PreviewMouseLeftButtonDown="MinimizeIconImage_PreviewMouseLeftButtonDown" MouseEnter="MinimizeIconImage_MouseEnter" MouseLeave="MinimizeIconImage_MouseLeave" GotFocus="MinimizeIconImage_GotFocus" LostFocus="MinimizeIconImage_LostFocus" Focusable="True" FocusVisualStyle="{x:Null}" Cursor="Hand" Height="47" VerticalAlignment="Top" Source="{Binding}" Margin="0,2,67,0" HorizontalAlignment="Right" Width="52">
<Image.Triggers>
<EventTrigger RoutedEvent="PreviewMouseLeftButtonDown">
<BeginStoryboard>
<Storyboard>
<ParallelTimeline BeginTime="00:00:00" SpeedRatio="0.9" Storyboard.TargetName="GanjAsemanMainWindow">
<DoubleAnimation Duration="00:00:2" From="{Binding Path=ActualHeight,ElementName=GanjAsemanMainWindow}" To="0" AutoReverse="False" Storyboard.TargetProperty="Height"/>
<DoubleAnimation Duration="00:00:2" From="{Binding Path=ActualWidth,ElementName=GanjAsemanMainWindow}" To="0" AutoReverse="False" Storyboard.TargetProperty="Width"/>
<DoubleAnimation Duration="00:00:2.5" From="100" To="0" AutoReverse="False" Storyboard.TargetProperty="Opacity"/>
</ParallelTimeline>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
</Grid>
C#:
private void MinimizeIconImage_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
RotateTransform RT = new RotateTransform(0, ActualWidth / 2, ActualHeight / 2);
GanjAsemanMainWindow.RenderTransform = RT;
(Resources["WindowRotation"] as Storyboard).Begin();
}
但是,DoubleAnimations順序執行而不是并行執行,因此,獲得以下輸出:

我認為如果我們可以將三個屬性系結到一個Storyboard.TargetProperty.
我使用以下工具:
.NET Framework 4.5WPF
感謝您的時間。
此致,
禮薩·賈費里
uj5u.com熱心網友回復:
除了為Window 設定影片之外,您還可以為 a 設定影片Width,類似于您已經擁有的 。也不需要 ParallelTimeline。HeightScaleTransformRotateTransform
但是,您必須設定 Window 的RenderTransformOrigin屬性。
這是一個最小的例子:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WindowAnimationTest.MainWindow"
Background="AliceBlue" Height="535" Width="764"
AllowsTransparency="True" WindowStyle="None"
RenderTransformOrigin="0.5,0.5">
<Window.RenderTransform>
<TransformGroup>
<RotateTransform/>
<ScaleTransform/>
</TransformGroup>
</Window.RenderTransform>
<Window.Resources>
<Storyboard x:Key="MinimizeAnimations">
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[0].Angle"
Duration="0:0:2" To="360"/>
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[1].ScaleX"
Duration="0:0:2" To="0"/>
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[1].ScaleY"
Duration="0:0:2" To="0"/>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
Duration="0:0:2.5" To="0"/>
</Storyboard>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="MouseLeftButtonDown">
<BeginStoryboard Storyboard="{StaticResource MinimizeAnimations}"/>
</EventTrigger>
</Window.Triggers>
<Grid>
<TextBlock Text="Like this" FontSize="40"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Window>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/506347.html
上一篇:使用模板懸停時如何使按鈕突出顯示
下一篇:無法在Setter中設定附加屬性
