首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

silverlight如何在grid下实现拖动窗体

2013-03-27 
silverlight怎么在grid下实现拖动窗体本帖最后由 zhangxue19857755 于 2013-03-23 15:32:31 编辑如题,领导

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

热点排行