鼠标向下移动时将控件转移到另一个wpf控件

鼠标向下移动时将控件转移到另一个wpf控件,wpf,controls,transfer,mousedown,Wpf,Controls,Transfer,Mousedown,这一次,我有一个困难的问题要告诉你:-) 目前,我将在wpf中开发一个usercontrol。我希望此控件在按下此控件中特定按钮上的鼠标按钮时立即打开滑块。只要按下鼠标按钮,用户就应该能够移动此滑块 一旦用户释放鼠标按钮,滑块就会消失 我已经有了一个解决方案,但这是一个非常粗糙的解决方案,因为我是通过屏幕坐标来实现的 有没有什么方法可以让WPF以愉快的方式实现这一点 非常感谢您的帮助 问候,, 迈克尔请先回答这些问题 您当前的XAMl和背后的代码是什么 当滑块的指针沿着其长度被拖动时,是否希望一

这一次,我有一个困难的问题要告诉你:-)

目前,我将在wpf中开发一个usercontrol。我希望此控件在按下此控件中特定按钮上的鼠标按钮时立即打开滑块。只要按下鼠标按钮,用户就应该能够移动此滑块

一旦用户释放鼠标按钮,滑块就会消失

我已经有了一个解决方案,但这是一个非常粗糙的解决方案,因为我是通过屏幕坐标来实现的

有没有什么方法可以让WPF以愉快的方式实现这一点

非常感谢您的帮助

问候,,
迈克尔

请先回答这些问题

  • 您当前的XAMl和背后的代码是什么
  • 当滑块的指针沿着其长度被拖动时,是否希望一直按住按钮
  • 如果是这样,您是否使用了
    ToggleButton
    ,因为当您将其
    IsChecked
    属性设置为false(即当用户释放鼠标按钮时)时,它可以一直按下,并且可以切换(未按下)
  • 当鼠标在某些元素(如此处的滑块)上移动或拖动时,是否已检查鼠标按钮状态为按下(来自按钮事件参数
    e
    e、 g

    编辑

    与第2点有关

    我之所以建议使用
    ToggleButton
    ,是因为在滑块上滑动时只能按住该按钮。否则,使用普通按钮,您可以在单击按钮时打开滑块弹出窗口,但当您移动到滑块上时,按钮将松开其
    按下状态


    此外,
    ToggleButton
    IsChecked
    属性可以双向绑定到滑块弹出窗口的
    IsOpen
    属性。这样,当用户停止滑动并释放鼠标时,我们可以将弹出窗口的
    IsOpen
    设置为false,并且由于双向绑定,将自动取消按下开关按钮

    到目前为止,我为XAML部分做了一部分工作:想法是,只要我单击“SliderButton”,弹出窗口就会出现,并显示滑块控件,用户只需用鼠标设置一个值。谢谢你的帮助!2.是的,因为处理应该尽可能简单。我不希望用户必须按两次鼠标键。3.不,我用的是普通按钮。使用切换按钮有什么好处?4.你的意思是我应该使用拖动事件来移动滑块吗?啊,好的,我明白了。但问题是,只要按住鼠标按钮,我就无法控制弹出窗口中的滑块。或者,是否有可能识别鼠标光标已移动到弹出窗口中,然后从滑块接收适当的事件-即使在仍然按下鼠标按钮的情况下?
        e.LeftButton == MouseButtonState.Pressed