当前位置: 首页>>代码示例>>C#>>正文


C# UIElement.MoveTo方法代码示例

本文整理汇总了C#中UIElement.MoveTo方法的典型用法代码示例。如果您正苦于以下问题:C# UIElement.MoveTo方法的具体用法?C# UIElement.MoveTo怎么用?C# UIElement.MoveTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UIElement的用法示例。


在下文中一共展示了UIElement.MoveTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AsMovableByMouse

        public AsMovableByMouseControl AsMovableByMouse(UIElement e, Action Update)
        {
            var c = new AsMovableByMouseControl();

            var q = false;


            #region iAtMouseDown
            Action<object> iAtMouseDown =
                (sender) =>
                {
                    q = true;

                    if (c.Enter != null)
                        c.Enter();
                };

            int iAtMouseDownContext = this._AtMouseDown.Count;
            this._AtMouseDown.Add(iAtMouseDown);

            e.MouseLeftButtonDown +=
                delegate
                {
                    this.AtMouseDown(null, iAtMouseDownContext);
                };
            #endregion


            Action<object, int, int> iAtMouseMove =
                (sender, px, py) =>
                {
                    e.MoveTo(Canvas.GetLeft(e) + px - 3, Canvas.GetTop(e) + py - 3);

                    if (Update != null)
                        Update();
                };

            var cAtMouseMove = this._AtMouseMove.Count;
            this._AtMouseMove.Add(iAtMouseMove);

            this.MouseMove +=
                (sender, args) =>
                {
                    if (!q)
                        return;
                    var p = args.GetPosition(e);

                    //Console.WriteLine(new { p.X, p.Y });

                    this.AtMouseMove(null, cAtMouseMove, Convert.ToInt32(p.X), Convert.ToInt32(p.Y));
                };

            #region iAtMouseUp
            Action<object> iAtMouseUp =
                (sender) =>
                {
                    if (!q)
                        return;

                    q = false;

                    if (c.Exit != null)
                        c.Exit();
                };

            int iAtMouseUpContext = this._AtMouseUp.Count;
            this._AtMouseUp.Add(iAtMouseUp);

            e.MouseLeftButtonUp +=
                delegate
                {
                    this.AtMouseUp(null, iAtMouseUpContext);
                };
            #endregion





            return c;
        }
开发者ID:exaphaser,项目名称:JSC-Cross-Compiler,代码行数:81,代码来源:ApplicationCanvas.cs


注:本文中的UIElement.MoveTo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。