私はマウス移動イベントでディスクを移動するのが難しいと感じるスタイルのようなターンテーブルを実現しようとしています。マウス移動イベントで画像を回転
この私のXAMLコード
<!-- Disk rotating code -->
<StackPanel x:Name="disk" Margin="0,-60,0,0">
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<DoubleAnimation Storyboard.TargetName="myTransform"
Storyboard.TargetProperty="Angle"
From="0" To="360" Duration="0:0:5"
RepeatBehavior="Forever">
</DoubleAnimation>
</Storyboard>
</StackPanel.Resources>
<Rectangle x:Name="ttbg" Margin="5,200,30,0" Stroke="Black" StrokeThickness="0" RenderTransformOrigin="0.503,0.503" Height="420" Width="420" MouseLeftButtonDown="press_down" MouseLeftButtonUp="press_up" MouseMove="press_move" >
<Rectangle.Fill>
<ImageBrush ImageSource="Images/ttbg.png" Stretch="Uniform" />
</Rectangle.Fill>
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform x:Name="myTransform" />
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
</StackPanel>
これは私のC#のコードである
private void press_down(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
// TODO: Add event handler implementation here.
}
private void press_up(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
// TODO: Add event handler implementation here.
}
private void press_move(object sender, System.Windows.Input.MouseEventArgs e)
{
// TODO: Add event handler implementation here.
}
質問初心者から
返信いただきありがとうございます。あなたのコードを試してみてください。angleAnimation.From = myTransform.Angle; angleAnimation.To = myTransform.Angle + _deltaAngle * 100; angleAnimationは現在のコンテキストでは存在しません。 – Dharmang
XAMLを見ると、angleAnimationがDoubleAnimationの名前であることがわかります。したがって、XAMLでangleAnimationを定義する必要があります。 –