예제 #1
0
        protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            var renderWidth  = _canvas.RenderSize.Width;
            var renderHeight = _canvas.RenderSize.Height;

            if (renderWidth == 0 || renderHeight == 0)
            {
                return;
            }
            var mousePosition = e.GetPosition(_canvas);
            var position      = new Point(mousePosition.X / renderWidth, mousePosition.Y / renderHeight);

            var args = new PositionChangingEventArgs(ThumbPositionChangingEvent, position);

            RaiseEvent(args);
            if (!args.Cancel)
            {
                SetCurrentValue(ThumbPositionProperty, args.NewPosition);
            }

            _thumb.RaiseEvent(e);

            e.Handled = true;
            base.OnMouseLeftButtonDown(e);
        }
        private void TabView_PositionChanging(object sender, PositionChangingEventArgs e)
        {
            // trigger views OnAppearing Event
            var newTabbedPage = _tabList[e.NewPosition];

            newTabbedPage.OnAppearing(this, e);

            // triggers views OnLeaving Event
            var oldTabbedpage = _tabList[e.OldPosition];

            oldTabbedpage.OnLeaving(this, e);
        }
예제 #3
0
        private void Thumb_DragDelta(object sender, DragDeltaEventArgs e)
        {
            var renderWidth  = _canvas.RenderSize.Width;
            var renderHeight = _canvas.RenderSize.Height;

            if (renderWidth == 0 || renderHeight == 0)
            {
                return;
            }
            var mousePosition = Mouse.GetPosition(this);
            var position      = new Point(mousePosition.X / renderWidth, mousePosition.Y / renderHeight);

            var args = new PositionChangingEventArgs(ThumbPositionChangingEvent, position);

            RaiseEvent(args);
            if (!args.Cancel)
            {
                SetCurrentValue(ThumbPositionProperty, args.NewPosition);
            }
        }
예제 #4
0
    private void WmWindowPosChanging(ref Message m)
    {
        // Extract the WINDOWPOS structure corresponding to this message
        NativeMethods.WINDOWPOS wndPos = NativeMethods.WINDOWPOS.FromMessage(m);

        // Determine if the size is changing (absence of SWP_NOSIZE flag)
        if (!((wndPos.flags & NativeMethods.SetWindowPosFlags.SWP_NOSIZE) == NativeMethods.SetWindowPosFlags.SWP_NOSIZE))
        {
            // Raise the LowLevelSizeChanging event
            SizeChangingEventArgs e = new SizeChangingEventArgs(this.Size, new Size(wndPos.cx, wndPos.cy));
            this.OnLowLevelSizeChanging(e);

            // Determine if the user canceled the size changing event
            if (e.Cancel)
            {
                // If so, add the SWP_NOSIZE flag
                wndPos.flags = wndPos.flags | NativeMethods.SetWindowPosFlags.SWP_NOSIZE;
                wndPos.UpdateMessage(m);
            }
        }

        // Determine if the position is changing (absence of SWP_NOMOVE flag)
        if (!((wndPos.flags & NativeMethods.SetWindowPosFlags.SWP_NOMOVE) == NativeMethods.SetWindowPosFlags.SWP_NOMOVE))
        {
            // Raise the LowLevelPositionChanging event
            PositionChangingEventArgs e = new PositionChangingEventArgs(this.Location, new Point(wndPos.x, wndPos.y));
            this.OnLowLevelPositionChanging(e);

            // Determine if the user canceled the position changing event
            if (e.Cancel)
            {
                // If so, add the SWP_NOMOVE flag
                wndPos.flags = wndPos.flags | NativeMethods.SetWindowPosFlags.SWP_NOMOVE;
                wndPos.UpdateMessage(m);
            }
        }

        base.WndProc(m);
    }
예제 #5
0
 private void TabView_PositionChanging(object sender, PositionChangingEventArgs e)
 {
 }
예제 #6
0
 private void ThumbFence_ThumbPositionChanging(object sender, PositionChangingEventArgs e)
 {
 }