0
WPFを使用してスライダボタンを作成したいとします。だから私は円を作成し、クリックしたときに移動するこのコードを持っています。WPFでアニメーションを使用してEllipsePathを移動するにはどうすればよいですか?
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Border Background="LightGray" Margin="167,63,224,190" CornerRadius="20,20,20,20" Height="40" Width="80">
<Path Fill="Red">
<Path.Data>
<EllipseGeometry Center="20,20" RadiusX="20" RadiusY="20"/>
</Path.Data>
<Path.Effect>
<DropShadowEffect Direction="270" ShadowDepth="2" Color="Gray"></DropShadowEffect>
</Path.Effect>
<Path.Triggers>
<EventTrigger RoutedEvent="Border.MouseDown">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<PointAnimation Storyboard.TargetProperty="Center" Duration="0:0:0.3" From="20,20" To="60,20"></PointAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Path.Triggers>
</Path>
</Border>
</Grid>
これは、プログラムが起動したときにそれが表示されることオーケーです。しかし、それをクリックすると例外がスローされます。エラーはSystem.InvalidOperationException
です。どうすればこの問題を解決できますか?
はい、それは私が欲しいものです、それがうまく機能..しかし、なぜ 'PointAnimation'とELLIPS'の 'Center'プロパティが動作しません?。あなたはそれについて考えていますか? –
さて、あなたのようなxamlの場合、ストーリーボードのアニメーションオブジェクトが "Center"プロパティを解決する方法はありませんでした。ストーリーボードにプロパティがアニメートされているソースオブジェクトを知らせるために、 "Storyboard.Target"値を設定することはありません。 –