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