[英]C# WPF Want to store data in a class and use it in multiple different classes in different wpf windows
我有3節課。 第一個存儲信息,第二個將信息分配給第一個 class,第三個從第一個 class 讀取信息。
第一個 Class,未分配給任何 WPF window
public class ProfileInfo //Used to store Name and Surname Data
{
public string User_Name { get; set; }
public string User_Surname { get; set; }
}
第二個 Class,位於 WPF window 1
public class InsertInfo //Reads data and stores it in Class 1
{
ProfileInfo p = new ProfileInfo();
p.User_Name = "Bob"; //Example value but normally is read from db
p.User_Surname = "Jhones"; //Example value but normally is read from db
}
第 3 個 Class,位於 WPF window 2
public class ReadInfo //Reads data from Class 1 and displays it using MessageBox.Show
{
ProfileInfo p = new ProfileInfo();
MessageBox.Show(p.User_Name); // I want this to display Bob but it displays an empty value
MessageBox.Show(p.User_Surname);
}
我希望 Class 1 存儲信息,直到我結束程序,以便我可以檢索多個類中的數據。
據我了解,這不起作用,因為在第三個 Class 中,我調用了一個完全不同的 Class 1 實例,其中沒有存儲數據??? 如果是這樣,我該如何進行這項工作?
我在整個互聯網上尋找一種在類之間共享數據的方法,但一切似乎都如此困難且難以理解。 我是初學者,所以如果可能的話,請嘗試用不太專業的語言來解釋它。
問題是您在InsertInfo
class 中創建了一個ProfileInfo
實例,但在第三個 class ReadInfo
中,您創建了另一個ProfileInfo
實例,該實例默認為空。 我不知道您的系統的詳細信息,但您可以嘗試在InsertInfo
class 中將ProfileInfo
字段設置為 static 屬性,然后您可以從其他類中訪問它:
public class InsertInfo
{
private static ProfileInfo p = new ProfileInfo();
public static ProfileInfo P { get { return p; } }
public void AssignProfileInfo(string username, string surname)
{
p.User_Name = username;
p.User_Surname = surname;
}
}
然后,要訪問存儲的 ProfileInfo,您可以訪問 static 屬性:
public class ReadInfo
{
ProfileInfo p = InsertInfo.P;
public void ShowInfo()
{
MessageBox.Show(p.User_Name);
MessageBox.Show(p.User_Surname);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.