Для представления XAML я подключаю его к this.ViewModel.PropertyChanged
вот так:
ViewModel.PropertyChanged += (s, e) =>
{
if (e.PropertyName == "CurrentImage")
DoStuff();
};
Это связано с тем, что XAML недостаточно гибок для того, чтобы я мог достичь того, чего я хотел бы, напрямую без кода, а также потому, что его код связан исключительно с WinRT / XAML, а не с основным переносимым проектом.
Однако во время конструктора представления свойство ViewModel
имеет значение null, поэтому с ним работали следующим образом:
this.Loaded += (s2, e2) =>
ViewModel.PropertyChanged += (s, e) =>
{
if (e.PropertyName == "CurrentImage")
DoStuff();
};
Я полагаю, что это (помимо использования строки для ссылки на свойство), вероятно, не очень чисто, и, вероятно, должен быть лучший способ добиться того, чего я хочу. Есть ли более идеальный подход?