В вашем случае у вас есть определенное бизнес-правило Shown WHEN > 10k
, оно должно быть инкапсулировано во ViewModel, а не в View, потому что View знает о том, КАК будут отображаться данные, а не WHEN и WHY.
Поэтому я бы предложилвыставляя свойства Amount
и ShowAlert
и избегая выставления свойства AlertVisibility
, потому что оно рассеивает такие WPF. Видите конкретные вещи, такие как Visibility перечисление состояний (Hidden, Collapsed, ...)
Если вы предпочитаете выставлять AlertVisibility
, вы можете столкнуться со следующей проблемой в будущем - просто представьте, что более новые версии WPF избавились от надоедливого перечисления Visibility , и в этом случае вам нужно изменить ViewModel, чтобы выставитьНовая инфраструктура / свойство видимости, позволяющая поддерживать нормальную работу View, но это неправильно с точки зрения MVVM, когда поведение View инкапсулировано во ViewModel.Так что Сохраняйте это простым и раскрывайте прямолинейное bool AlertVisible
свойство.
РЕДАКТИРОВАТЬ: Относительно предложения именования в комментарии
Абсолютно согласен!Я бы предложил переименовать AmountVisible
в IsAmountSpecified
или что-то вроде этого.