我在app.xaml(Public Static List id {get set})中創建了一個屬性 我可以向它添加數據(例如:App.id.Add(user.id))。如何在頁面刷新之間保持屬性的值?
因此,我可以從頁面添加數據並使用它的任何導航頁面(例如:App.id [3])。
初始化的問題是,當頁面刷新的數據返回到App.id [0]
我在app.xaml(Public Static List id {get set})中創建了一個屬性 我可以向它添加數據(例如:App.id.Add(user.id))。如何在頁面刷新之間保持屬性的值?
因此,我可以從頁面添加數據並使用它的任何導航頁面(例如:App.id [3])。
初始化的問題是,當頁面刷新的數據返回到App.id [0]
另外,您可以在這裏使用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;
}
}
是的,你可以在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];
}
,但我想也叫資源ID的網頁,並從該頁面中添加數據。像mainpage.xaml。並添加數據(id.add(y.userid))問題是從app.cs調用屬性給我錯誤。 – karthikeyan
你可以粘貼給出錯誤的代碼嗎?我不明白爲什麼你不能這樣做。 –
Public static List
嗨弗雷德裏克Singleton模式真的工作..謝謝你回答 – karthikeyan
App.folderId.Remove(id [0]); mscorlib.ni.dll中發生類型'System.InvalidOperationException'的異常,但未在用戶代碼中處理。當我從持久性屬性中刪除數據時,它給了我這個錯誤,因爲當我刪除其中一個項目時,列表發生了變化。 –
karthikeyan
這取決於你如何刪除它,你能顯示更多的代碼,否則我不能幫你? –