Как преобразовать мой код позади кода в шаблон MVVM для следующего сценария в Visual Studio [wpf]? - PullRequest
0 голосов
/ 26 ноября 2018

Мне нужно изменить код на код mvvm.Мой сценарий выглядит следующим образом: если я установлю флажок Использовать защиту паролем , оба поля пароль и подтверждение пароля должны быть видны, и если я выберу флажок показать пароль и пароль , и пароль подтверждения должны отображаться в виде символов

Как написать Model.cs, view.xaml и viewmodel.cs для этого сценария?Пожалуйста, помогите мне ... Я видел ответы на подобные вопросы, но я не понял с этим.

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Создайте класс ViewModel, который реализует INotifyPropertyChanged.Создайте логическое свойство с именем UsePasswordProtection, которое вызывает событие PropertyChanged, если значение изменяется.Флажок представления для UsePasswordProtection имеет свойство, которое указывает, проверен ли он.В XAML для значения этого свойства установите его в качестве привязки к свойству ViewModel UsePasswordProtection.

В этом представлении свойства видимости как пароля, так и полей подтверждения должны быть связаны со свойством ViewModel UsePasswordProtection, используя BooleanToVisibilityConverter в качестве конвертера .

Я бы сказал, что ViewModel не нужно задействовать в функции «Показать пароль», поскольку это косметическая вещь, предназначенная только для пользовательского интерфейса (если тольколюбая часть вашего приложения заботится о значении), так что это одна из немногих вещей, которые я сделал бы в коде позади.Вот небольшая хитрость для достижения этой цели ... отображение символов пароля для некоторого события для passwordbox

0 голосов
/ 26 ноября 2018

Добавьте Visibility="Collapsed" или Visibility = "Visible" к узлам, которые вы хотите скрыть.Теперь добавьте событие, которое переключает эти свойства при нажатии.

...