すいません、何度か確認したところ、インスタンス生成のタイミングを変更すればうまくいったのですが、なぜうまくいかなかったのかがわからずモヤモヤしています。
以下がうまくいったコードになります。
public partial class Page1 : Page
{
private static Class1 class1 = new Class1();
private static TextBlock tb;
public Page1()
{
InitializeComponent();
tb = Textblock;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
class1.Textchange();
}
public void Addtext(string text)
{
tb.Text = text;
}
}
internal class Class1
{
private static Page1 page1 = new Page1();
public void Textchange()
{
page1.Addtext("AAA");
}
}
以下がうまくいかなかったコードになります。Page1は変更なしです。
internal class Class1
{
private static Page1 page1 = null;
public void Textchange()
{
if (page1 == null)
{
page1 = new Page1();
}
page1.Addtext("AAA");
}
}
上と下で何が変わってしまうのかがイマイチ分かりません