Silverlight导航app usercontrol状态

时间:2009-10-29 16:24:30

标签: silverlight user-controls navigation

我有一个5页的导航应用程序。我还有一个带3个单选按钮的用户控件。我的应用程序中的所有5个页面都使用此用户控件。默认情况下,选择第一个单选按钮。但是,如果用户单击第3个单选按钮并转到另一个页面,我希望我的usercontrol仍然显示所选的第3个单选按钮。我该如何完成这项任务?

3 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。可能最简单的方法是创建一个具有所选单选按钮项属性的类。将此类的实例作为资源添加到应用程序,然后将单选按钮绑定到此静态资源。

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

在Application_Startup的App.xaml.cs中添加:

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

然后在绑定中你可以设置:

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

您还可以采取其他方法。

答案 1 :(得分:0)

是否可以在View控件之外显示此控件?听起来它应该放在显示视图的地方之外的MainPage.xaml上。这样就可以使用一个控件,并且可以将其值用于所有视图。

答案 2 :(得分:0)

如果您只是想在用户在页面之间导航时保​​存页面状态,那么完成此操作的最简单方法是设置:

NavigationCacheMode="Required"

在页面的xaml的第一个元素中。