Предложение: Я бы предложил связать значения, которые позволили бы получить более чистый код и облегчить понимание.
Тем не менее, пожалуйста, найдите ответ на свой вопрос ниже
Я считаю, что ошибка происходит внутри вашего UserInputPage.xaml.cs:
FirstPlayer_Input = new Player(SinglePlayer_TextBox.Text);
Внутри вашего класса игрока переменная private Label FirstUser_Label;
не инициируется в одномконструктора (public Player(string text)
).
Итак, запустите его, как показано ниже,
`public Player(string text)
{
FirstUser_Input = text;
FirstUser_Label = new Label(); //This line ensures that the FirstUser_Label is not null. It has a empty label value by default.
System.Diagnostics.Debug.WriteLine(FirstUser_Input);
}`
Примечание: сам код не проверял.
Обновление: 2019-11-04 Примечание: приведенный ниже код не является чистым. Я хотел бы повторить, что лучше использовать привязку данных и уведомлять об изменениях свойств.
Сделайте вашу метку такой же статической, как показано ниже.
class Player
{
private string FirstUser_Input;
private static Label FirstUser_Label; //Making the variable as static
Затем, когда инициализируется ваша страница метки, изменитекод, указанный ниже, для доступа к статическому свойству
public partial class UserLabelPage : Page
{
private Player FirstPlayer_Label;
public UserLabelPage()
{
InitializeComponent();
singlePlayer_Label.content = Player.FirstUser_Label.content; //singlePlayer_Lable is the x:name of the xaml object. Setting the object's content while initializing the component.
}
}
Примечание. Код не проверялся. Но, по теории, это должно работать нормально.