这次我给你一个难的:-)
目前我即将在 wpf 中开发一个用户控件。我希望此控件在此控件中的特定按钮上按下鼠标按钮后立即打开一个滑块。只要仍然按下鼠标按钮,用户就应该能够移动此滑块。
一旦用户释放鼠标按钮,滑块就会消失。
我已经有一个解决方案,但这是一个非常hacky的解决方案,因为我是通过屏幕坐标来完成的。
有没有办法用 WPF 以一种愉快的方式做到这一点?
非常感谢任何帮助!
问候,迈克尔
请先回答这些问题
ToggleButton
因为它可以在整个过程中被按下,并且当您将其IsChecked
属性设置为 false(即当用户释放鼠标按钮时)时可以切换(未按下)。Pressed
(来自按钮事件 args )?e
例如
e.LeftButton == MouseButtonState.Pressed
编辑
与点号有关。2....
我建议的原因ToggleButton
是因为只有在滑块上滑动时才能按住它。否则,使用普通按钮,您可以在单击按钮时打开滑块弹出窗口,但是Pressed
当您移动到滑块上时,按钮将失去其状态。
此外, 的IsChecked
属性ToggleButton
可以通过两种方式绑定到IsOpen
滑块弹出的属性。这样,当用户停止滑动并释放鼠标时,我们可以将IsOpen
弹出窗口设置为 false,并且由于这两种方式绑定,这将自动取消按下切换按钮。