0

这次我给你一个难的:-)

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

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

我已经有一个解决方案,但这是一个非常hacky的解决方案,因为我是通过屏幕坐标来完成的。

有没有办法用 WPF 以一种愉快的方式做到这一点?

非常感谢任何帮助!

问候,迈克尔

4

1 回答 1

0

请先回答这些问题

  1. 您当前的 XAMl 和代码是什么?
  2. 当滑块的指针沿其长度拖动时,您是否要一直按住按钮?
  3. 如果是这样,您是否使用了它,ToggleButton因为它可以在整个过程中被按下,并且当您将其IsChecked属性设置为 false(即当用户释放鼠标按钮时)时可以切换(未按下)。
  4. 当鼠标移动、被拖动到某个元素(例如此处的滑块)上时,您是否检查过鼠标按钮状态Pressed(来自按钮事件 args )?e

例如

    e.LeftButton == MouseButtonState.Pressed

编辑

与点号有关。2....

我建议的原因ToggleButton是因为只有在滑块上滑动时才能按住它。否则,使用普通按钮,您可以在单击按钮时打开滑块弹出窗口,但是Pressed当您移动到滑块上时,按钮将失去其状态。

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

于 2012-01-18T07:52:45.963 回答