|
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Media;
namespace DragResizeRotateItems
{
public class DragThumb : Thumb
{
public DragThumb()
{
base.DragDelta += new DragDeltaEventHandler(DragThumb_DragDelta);
}
void DragThumb_DragDelta(object sender, DragDeltaEventArgs e)
{
ContentControl item = this.DataContext as ContentControl;
if (item != null)
{
Point dragDelta = new Point(e.HorizontalChange, e.VerticalChange);
RotateTransform rotateTransform = item.RenderTransform as RotateTransform;
if (rotateTransform != null)
dragDelta = rotateTransform.Transform(dragDelta);
double left = Canvas.GetLeft(item);
double top = Canvas.GetTop(item);
left = double.IsNaN(left) ? 0 : left;
top = double.IsNaN(top) ? 0 : top;
Canvas.SetLeft(item, left + dragDelta.X);
Canvas.SetTop(item, top + dragDelta.Y);
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.