按下另一个按钮时的按钮按下效果
本文关键字:按钮 另一个 | 更新日期: 2023-09-27 18:21:38
在我的WP7应用程序中使用silverlight控件,
我有两个按钮,我想当我按下一个按钮时,另一个按钮似乎也被按下了(改变颜色以反转…等)
类似于wp7手机上的原生键盘,当较大的按钮出现在你的拇指上方时
我试着把重点放在他们两个身上,但不可能
-详细说明-
通常,当你按下按钮时,按钮样式会根据主题而变化
例如:如果主题是深色的,则按钮变为白色,文本变为黑色。但如果主题是白色的,则单击时按钮将变为黑色。
我的目标是在按下另一个按钮时,将这种行为模仿成一个按钮。
在点击事件中,您可以使用
VisualStateManager.GoToState(Button1, "Pressed", true);
然而,要返回到Normal
状态,您必须知道单击何时结束。LeftMouseButtonUp无法工作,因为没有鼠标。
所以你可以设置一个定时器并恢复状态。虽然丑陋,但它很管用。
顺便说一句:我怀疑你可能想用不同的方式来获得你需要的结果。
我没有做太多的wp7开发,但我相信正常、活动和按下的外观是作为按钮的不同状态实现的,您可以通过程序设置状态。这篇文章应该更详细地解释它,但与手动设置背景颜色相比,这种方法的优势在于,它应该自动利用在这些状态之间配置的任何转换,以及黑=>白或白=>黑主题相关的更改也将为您完成。
http://www.timmykokke.com/2010/11/using-visual-states-in-custom-controls-in-silverlight/
更新:在一个的单击处理程序中,设置另一个的后台属性。
在伪代码中:
Button button1
ToggleButton button2
Button1.MouseDown:
Set button2 pressed state to true
Button2.MouseUp:
Set button2 pressed state to false
尝试使用MS Expression Blend自定义行为,详细信息