MVVM (ICommand) в Silverlight

Ответ David обеспечивает значение каждого модификатора доступа. Что касается того, когда использовать каждого, я предложил бы обнародовать все классы и методы каждого класса, которые предназначены для наружного применения (его API), и все остальное частное.

Со временем Вы будете развивать чувство для того, когда сделать некоторые классы частными на пакет и когда объявить определенные методы, защищенные для использования в подклассах.

6
задан Shimmy 11 March 2011 в 08:19
поделиться

2 ответа

В Silverlight нет поддержки команд. Когда пользователь манипулирует элементами управления в вашем представлении, вам придется написать код (например, обработчики событий), который изменяет модель представления в коде программной части для вашего представления. Это может быть что-то столь же простое, как вызов метода в модели представления, когда пользователь нажимает кнопку в представлении. Используя PRISM, вы можете создавать присоединенные свойства в XAML для своего представления, чтобы избавиться от этих обработчиков событий, но если вы не хотите использовать PRISM, вы можете просто придерживаться использования обработчиков событий.

Еще один аспект, который вы получите должен обрабатывать изменение представления при изменении модели представления. В частности, вы захотите включать и отключать элементы управления в зависимости от состояния модели представления. Для этого вам нужно связать свойство IsEnabled элемента управления с чем-то в модели представления, которое отражает, разрешена ли определенная операция. Часто бывает полезно реализовать пользовательские объекты IValueConverter , которые преобразуют в логические значения. Например, если ваша модель представления имеет свойство, представляющее счетчик, и вы хотите, чтобы конкретный элемент управления в представлении был включен только тогда, когда счетчик больше нуля, вы можете создать преобразователь значений, который преобразует в true ], когда число больше нуля, и используйте этот преобразователь значений в привязке.

Если вы попытаетесь адаптировать WPF-пример приложения MVVM, вам придется избавиться от всех использований команд и заменить свой собственный код. Код в вашем примере не имеет смысла в Silverligt,

5
ответ дан 10 December 2019 в 00:42
поделиться

Silverlight 4.0 поддерживает интерфейс ICommand и, таким образом, будет предоставлять инфраструктуру управления, подобную WPF.

5
ответ дан 10 December 2019 в 00:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: