В Expression Blend для Windows Phone измените источник изображения кнопки в разных состояниях - PullRequest
0 голосов
/ 02 февраля 2012

В Expression Blend для Windows Phone как я могу изменить источник изображения кнопки в разных состояниях. Я хочу, чтобы разные изображения отображались в нормальном и нажатом состоянии.

1 Ответ

0 голосов
/ 02 февраля 2012

На ум приходит пара вариантов, в зависимости от того, что именно вы пытаетесь выполнить.

Когда-то сценарий означает, что у вас есть кнопка, которую вы хотите использовать как переключатель, когда вы нажимаете ее один раз, и она остается нажатой, пока вы не нажмете ее снова, как кнопка воспроизведения на магнитофоне (помните те?).

Если это то, что вы ищете, я бы создал свойство boolean в вашем файле кода, например IsPlaying, которое указывает, нажата ли ваша кнопка в данный момент или нет.

Затем вы можете создать ValueConverter, который переводит значения true и false в разные изображения.Вот запись о создании ValueConverter.В статье говорится о преобразовании bool в Visibility, но концепция та же.

В конвертере BooleanToImage, или как вы его называете, вам нужно решить, какое изображение показать, и загрузить его как Bitmap.Затем в вашем .xaml вы свяжетесь со свойством IsPlaying и установите конвертер на BooleanToImage.Этот подход работает довольно хорошо для многих сценариев, и он хорош и опрятен, так как вам не нужно думать о том, какое изображение воспроизводится;вы можете подумать, будет ли ваше приложение IsPlaying.

Другой сценарий - вы хотите кратко отобразить изображение при нажатии кнопки, например анимацию, а затем вернуться в предыдущее состояние.В этом случае лучше всего использовать VisualStateManager, что позволяет вам определять различные варианты появления вашей кнопки в различных состояниях, таких как Normal и Clicked.Вы можете применять анимацию для перехода между состояниями.Вот обход , который демонстрирует использование VisualStateManager.

...