Невозможно выполнить привязку данных между двумя разными страницами. В UWP есть элемент управления Frame
, который используется для навигации между страницами и дескрипторами Page
времени жизни. Ключевое наблюдение заключается в том, что при переходе между страницами в памяти всегда остается только одна страница (если вы не используете NavigationCacheMode
). Поэтому, как только вы вернетесь назад от SettingsPage
, он исчезнет, и вы не сможете привязаться к нему. Кроме того, при переходе к SettingsPage
снова создается новый экземпляр страницы, что также полезно знать - привязка данных требует привязки к экземпляру, и это в этом случае меняется.
Так что если вы хотите передать какое-то значение между двумя страницами, вам понадобится другой механизм для достижения этого. Самым простым подходом будет класс static
, в котором вы будете назначать выбранный цвет или иметь свойство public static
на первой странице, которое вы назначите перед переходом со второй страницы. Но помните, что вам также понадобится дополнительное нестатическое свойство для привязки данных, так как оно не работает с static
. Это, безусловно, не самое чистое решение, но оно выполняет работу в более простых сценариях.
Если у вас есть инфраструктура MVVM, вы можете решить эту проблему лучше, если ваши модели стека навигации остаются в памяти - вы можете, например, использовать Event Hub или Messenger и опубликовать сообщение с заданными данными. на которую подписывается страница получателя. У MvvmCross и Mvvm Light есть решения, способные сделать это.