Я новичок в Caliburn Micro и экспериментирую с его реализацией WP7.Я хотел бы передать значение перечисления от одной виртуальной машины к другой, но я должен упустить что-то очевидное: я пытался передать ее имя и числовое значение, но целевая виртуальная машина всегда получает значение по умолчанию (соответствующее 0).
Мой сценарий более подробно: скажем, у меня есть виртуальная машина со свойством, предоставляющим значение перечисления.Скажем, enum is ProductFamily {Hardware, Software};У меня есть кнопка, которая открывает другой экран с базовой виртуальной машиной, которая должна отображать список продуктов в соответствии с выбранным семейством.Поэтому виртуальная машина вызывает Navigate для экземпляра INavigationService, полученного в ее конструкторе, например:
_navigation.Navigate("MyView.xaml?Family=" + _nFamily, UriKind.RelativeOrAbsolute);
(этот код передает имя, но я также пытался использовать (int) _nFamily)Теперь у меня есть соответствующее свойство Family в целевой виртуальной машине, например,
public ProductFamily Family { get { ... } set { ... } }
, если я помещаю точку останова в установщик свойств, я вижу, что она вызывается CM, но полученное значение соответствует значению по умолчанию (0, скажем Hardware в приведенном выше примере), пока я ожидаю другого.Я могу подтвердить, что правильное значение передается при построении строки запроса для навигации.Итак, как получается, что целевая виртуальная машина получает неправильное значение?
Спасибо всем