silverlight怎么在grid下实现拖动窗体
本帖最后由 zhangxue19857755 于 2013-03-23 15:32:31 编辑 如题,领导给了一个示例是在Canvas下实现拖动的,具体代码我贴出来:求一个在grid下拖动子窗体的代码,求大神帮帮忙,等着急用
private void contentControl1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
try
{
if (e.ClickCount == 2) return;
var rectangle = sender as ContentControl;
if (rectangle == null) return;
rectangle.CaptureMouse();
m_IsMouseLeftButtonDown = true;
m_PreviousMousePoint = e.GetPosition(rectangle);
}
catch { }
}
private void contentControl1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
try
{
if (e.ClickCount == 2) return;
var rectangle = sender as ContentControl;
if (rectangle == null) return;
rectangle.ReleaseMouseCapture();
m_IsMouseLeftButtonDown = false;
}
catch { }
}
private void contentControl1_MouseMove(object sender, MouseEventArgs e)
{
try
{
var rectangle = sender as ContentControl;
if (rectangle == null) return;
if (m_IsMouseLeftButtonDown)
DoImageMove(rectangle, e);
}
catch { }
}
private void DoImageMove(ContentControl rectangle, MouseEventArgs e)
{
try
{
var group = LayoutRoot.Resources["ImageTransformResource"] as TransformGroup;
var transform = group.Children[1] as TranslateTransform;
var position = e.GetPosition(rectangle);
transform.X += position.X - m_PreviousMousePoint.X;
transform.Y += position.Y - m_PreviousMousePoint.Y;
m_PreviousMousePoint = position;
}
catch { }
}
我应该按照着这个示例怎么该呢,请大婶帮帮忙,网上找了很多都是在Canvas拖动的,怎么在Grid下实现呢
[解决办法]
http://msdn.microsoft.com/zh-cn/library/ff723922(v=expression.40).aspx