Имейте в виду, что во Flex они реализуют почти тот же шаблон, что и INotifyPropertyChanged. Это необходимо для того, чтобы сообщить пользовательскому интерфейсу об обновлении. Единственное отличие состоит в том, что во Flex вы получаете тег [Bindable]
, который реализует шаблон для вас. В Silverlight вы должны сделать это самостоятельно. Вы можете получить помощь в его реализации, как в случае с «Property Weaver», но в обоих случаях у вас есть событие и шаблон, который выглядит следующим образом (псевдокод):
var prop;
get: return prop
set: if prop == value return
prop = value
notify prop changed
Что касается команд, то это связано с императивным или декларативным связыванием в Flex против Silverlight. Вам не нужна команда во Flex, потому что вы можете просто вызвать метод в своем контексте. В Silverlight это декларативно, поэтому вам нужно привязать объект к ... вы не можете привязать методы, поскольку они не являются объектами. ICommand
дает вам это ... но также добавляет грязную сантехнику.