我在app.xaml中创建了一个属性(公共静态列表id {get set}) 我可以添加数据(例如:App.id.Add(user.id))。
这样我就可以从页面中获取添加的数据并使用任何导航页面(例如:App.id [3])。
初始化是页面刷新时数据返回App.id [0]
的问题答案 0 :(得分:0)
是的,您可以在app.cs中定义的公共属性可以从您应用中的所有页面到达。
在你的App.cs
中 public List<String> id = new List<string>();
// Call this method somewhere so you create some data to use...
// eg in your App() contructor
public void CreateData()
{
id.Add("ID1");
id.Add("ID2");
id.Add("ID3");
id.Add("ID4");
id.Add("ID5");
}
当您需要使用它时,您可以从中获取数据。 OnNavigateTo事件处理程序
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
// Sets the data context for the page to have a list of strings
this.DataContext = ((App)Application.Current).id;
// Or you can index to the data directly
var a = ((App)Application.Current).id[2];
}
答案 1 :(得分:0)
Alternativ你可以在这里使用Singleton模式,这将确保创建列表并且只有一个实例存在。
在App.cs文件中写下以下内容:
private static List<string> _id;
public static List<string> id
{
get
{
if (_id == null)
_id = new List<string>();
return _id;
}
set
{
_id = value;
}
}