垂直プログレス バーとアニメーション オブジェクトの両方を使用するプロジェクトがあります。
問題: 希望どおりのアニメーション化 (幅と高さを同時に変更) は、.NET Framework 4 では機能しませんが、3.5 では機能します。ただし、垂直のプログレス バーは Framework 4 では機能しますが、3.5 では機能しません。
私が求めているのは、コードの両方のセクションを見て、どちらか/任意の .NET Framework で動作するように別の方法でいずれかのアクションをコーディングすることで、回避策を提案してくれる人がいるということです。
まず、これが私の垂直プログレス バー XAML です。
<ControlTemplate TargetType="ProgressBar" x:Key="ProgressBarWin">
<Border
x:Name="Root"
BorderBrush="#BBC6C4"
BorderThickness="1"
Padding="1">
<Grid x:Name="PART_Track">
<Rectangle
x:Name="PART_Indicator"
Fill="#6cd133"
RadiusX="5"
RadiusY="5"
HorizontalAlignment="Left" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Orientation" Value="Vertical">
<Setter TargetName="Root" Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="270" />
</Setter.Value>
</Setter>
<Setter TargetName="Root" Property="Width"
Value="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Height}"/>
<Setter TargetName="Root" Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Width}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
そして今、これが XAML で開くウィンドウのストーリーボードです。
<Window.Triggers>
<EventTrigger RoutedEvent="Window.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(Window.Height)"
From="0" To="300" BeginTime="0:0:0" Duration="0:0:2"/>
<DoubleAnimation Storyboard.TargetProperty="(Window.Width)"
From="0" To="300" BeginTime="0:0:0" Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Window.Triggers>