小编Kev*_*rns的帖子

拖动用户控件,但将其保留在WPF中其父级的边界内

我有一个用户控件,我在网格中拖动.Z-Index设置得相当高,以便我可以将它保持在其他孩子之上.拖动控件可以很好地工作,但如果用户想要将控件移出网格外,它将允许它.

在此输入图像描述 如何防止它离开父Grid控件的边界,这是我现在拥有的:

   private System.Windows.Point _anchorPoint;
    private System.Windows.Point _currentPoint;
    private bool _isInDrag;

   private void UserControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        var element = sender as FrameworkElement;
        _anchorPoint = e.GetPosition(null);
        if (element != null) element.CaptureMouse();
        _isInDrag = true;
        e.Handled = true;
    }

    private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        if (!_isInDrag) return;
        var element = sender as FrameworkElement;
        if (element != null) element.ReleaseMouseCapture();
        _isInDrag = false;
        e.Handled = true;
    }

   private void UserControl_MouseMove(object sender, MouseEventArgs e)
        {
            if (!_isInDrag) return;
            _currentPoint = e.GetPosition(null); …
Run Code Online (Sandbox Code Playgroud)

c# wpf

5
推荐指数
1
解决办法
956
查看次数

标签 统计

c# ×1

wpf ×1