按下另一个按钮时按下按钮效果

时间:2012-01-27 03:49:40

标签: c# .net silverlight windows-phone-7

在我的WP7应用中使用silverlight控件,

我有两个按钮, 我想按下按钮时,另一个按钮似乎也被按下了(颜色改变了等等)

当拇指上方有一个较大的按钮

时,就像wp7手机上的原生键盘一样

我试图给他们两个焦点,但这是不可能的

-Detailed说明 -

通常,当您按下按钮时,按钮样式会根据主题

而变化

例如:如果主题是黑暗,则按钮变为白色,文本变为黑色。但如果主题为白色,则单击该按钮时会变为黑色。

我的目标是在按下另一个按钮时模仿按钮的行为。

5 个答案:

答案 0 :(得分:2)

在点击事件中,您可以使用

VisualStateManager.GoToState(Button1, "Pressed", true);

但要返回Normal状态,您必须知道点击何时结束。 LeftMouseButtonUp不起作用,因为没有鼠标。

所以你可以设置一个计时器并恢复状态。丑陋但它有效。

旁注:我怀疑您可能想要使用不同的方式获得所需的结果。

答案 1 :(得分:1)

我没有做太多的wp7开发,但我相信正常,活动和按下的外观都是按钮的不同状态实现的,你可以编程设置状态。本文应该更详细地解释一下,但这种方法优于手动设置背景颜色的优点是它应该自动利用在这些状态之间配置的任何转换,以及black =>白色或白色=>黑色主题相关的更改也将为您完成。

http://www.timmykokke.com/2010/11/using-visual-states-in-custom-controls-in-silverlight/

答案 2 :(得分:0)

在伪代码中:

Button button1
ToggleButton button2

Button1.MouseDown:
    Set button2 pressed state to true

Button2.MouseUp:
    Set button2 pressed state to false

答案 3 :(得分:0)

尝试使用MS Expression Blend自定义行为details

答案 4 :(得分:0)

更新: 在一个单击的处理程序中设置另一个的背景属性。