我試圖在滾動滑塊時旋轉矩形 有2個步驟:單擊矩形 - 滾動滑塊。 如果我只繪製一個矩形,一切都可以。 但是,當我繪製2個矩形或更多並開始旋轉時,我的所有矩形都以相同的角度一起旋轉。 我不知道這件事。 任何人都可以幫助我嗎? 在此先感謝! 這裏是我的代碼:(我發現的代碼在這個頁面在另一篇文章中旋轉)WPF:旋轉帶滑塊的矩形
Shape _shape;
RotateTransform rt = new RotateTransform();
private void MyCanvas_MouseRightButtonDown(object sender, MouseButtonEventArgs)
{
/////////////////////////////////////////////////////
//for know which rectangle has been clicked
if (MyTransform_type == TRANSFORM_TYPE.ROTATE)
{
_shape = e.OriginalSource as Shape;
if (_shape != null)
{
_shape = (Shape)e.OriginalSource;
}
}
}
private void MyCanvas_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
if (MyTransform_type != TRANSFORM_TYPE.NONE && MyTransform_type != TRANSFORM_TYPE.ROTATE)
{
if (_shape == null)
return;
//_shape.ReleaseMouseCapture();
Cursor = Cursors.Arrow;
}
}
private void sldRotate_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (_shape != null)
{
_shape.RenderTransform = rt;
_shape.RenderTransformOrigin = new Point(0.5, 0.5);
var da = new DoubleAnimation(rt.Angle, sldRotate.Value, new Duration(TimeSpan.FromSeconds(0.001)));
rt.BeginAnimation(RotateTransform.AngleProperty, da);
rt.Angle = sldRotate.Value;
}
}
請添加完整的代碼,例如你在哪裏設置「rt」? –
「rt」位於我的代碼頂部:D – Duy