У меня есть кнопка, у которой ClickMode
изначально установлен на «Нажмите». Код для обработчика событий для этой кнопки выглядит следующим образом:Освобождение события, даже если кнопка мыши не отпущена. WP7
Button button_clicked = sender as Button;
if (button_clicked.ClickMode == ClickMode.Press)
{
button_clicked.ClickMode = ClickMode.Release;
button_clicked.Content = "Pressed";
}
else if (button_clicked.ClickMode == ClickMode.Release)
{
button_clicked.ClickMode = ClickMode.Press;
button_clicked.Content = "Released";
}
Это должно установить содержание кнопку «прессованная», когда кнопка нажата первой. Содержимое должно оставаться как «Нажато» до тех пор, пока кнопка не будет отпущена, и она должна быть установлена как «Выпущена», как только кнопка будет отпущена.
Но, фактическое поведение отличается. Когда вы нажимаете кнопку, содержимое устанавливается на «Нажато». Затем, если вы держите его достаточно долго (5-6 секунд, я думаю), его содержимое изменяется на «Выпущено» , даже если вы его не отпустите и не удерживайте.
Редактировать: Я использую «Multi-touch vista», чтобы имитировать мультитач на эмуляторе. Такое поведение наблюдается, когда я запускаю эмулятор с поддержкой Multi-touch. Когда я не использую Multi-touch vista, он отлично работает. Любые предложения о том, как заставить обе работать?
Пожалуйста, помогите мне с этим. Спасибо.
Прекрасно работает для меня –
Оказывается, я установил «Multi touch vista», чтобы имитировать мультитач на эмуляторе. http://michaelsync.net/2010/04/06/step-by-step-tutorial-installing-multi-touch-simulator-for-silverlight-phone-7 Когда я прекратил использовать его, он начал работать для меня , Любые идеи о том, как я могу использовать его с мультитач-симулятором? – Divya
Вы просто пытаетесь изменить содержимое кнопки во время ее нажатия? Это правильно обрабатывается с помощью VisualStateManager и VisualState «MouseOver». – terphi