Состояние пользовательского контроля приложения навигации Silverlight - PullRequest
1 голос
/ 29 октября 2009

У меня есть приложение навигации с 5 страницами. У меня также есть пользовательский контроль с 3-мя переключателями. Этот пользовательский контроль используется всеми 5 страницами в моем приложении. По умолчанию выбран первый переключатель. Однако, если пользователь нажимает третью радиокнопку, и я перехожу на другую страницу, я хочу, чтобы мой пользовательский контроль все еще показывал эту третью радиокнопку как выбранную. Как мне выполнить эту задачу?

Ответы [ 3 ]

0 голосов
/ 30 октября 2009

Можно ли показать этот элемент управления вне элемента управления «Просмотр»? Похоже, он должен быть помещен в MainPage.xaml за пределами места, где отображаются представления. Таким образом, используется один элемент управления, и его значение может быть доступно для всех представлений.

0 голосов
/ 21 декабря 2009

Если вы просто хотите сохранить состояние страницы, когда пользователь перемещается между страницами, тогда проще всего сделать это:

NavigationCacheMode="Required"

в первом элементе xaml для вашей страницы.

0 голосов
/ 29 октября 2009

Есть несколько способов сделать это. Вероятно, самый простой способ - создать класс, у которого есть свойство для выбранного элемента переключателей. Добавьте экземпляр этого класса в качестве ресурса в приложение и затем привяжите переключатели к этому статическому ресурсу.

public class MyState
{
  public string SelectedRadioValue {get;set;}
}

В файле App.xaml.cs в Application_Startup добавьте:

var state = new MyState()
Resources.Add("myState", state);

Тогда в привязках вы можете установить:

SelectedValue="{Binding Source={StaticResource myState},Path=SelectedRadioValue}"

Есть и другие подходы, которые вы могли бы использовать.

...