こんにちは、私は C# アプリケーションを作成する初心者です。
基本的すぎる場合は申し訳ありません。Main xaml で実行されているスレッドがあり、いくつかの情報を照会してプロパティを更新します。
そのため、プロパティが "X" に設定されていることを検出したら、別の XAML ビューに切り替える必要があります。
私が直面している問題は、プロパティからスイッチを呼び出すと、アプリがクラッシュすることです。スレの関係だと思いますが..
Qn : プロパティ値の変更を検出したらすぐに、別の XAML ビューに切り替えるにはどうすればよいですか?
サンプルコード:
パブリック部分クラス MainWindow : ウィンドウ {
     ....
    private Thread t;
    public static enState dummy;
    public enState SetSTATE
    {
       get
       {
            return dummy;
       }
       set
       {
             dummy = value;
             if (dummy == A )
             {
                   var NEWVIEW = new  VIEW1();
                    contentGrid.Children.Add(NEWVIEW);      // - crashes in this block
              }
       }
     }
    public void startThread()
    {
      t = new Thread(getInfo);
      t.Isbackground = true;
      t.start();
    }
    public void getInfo()
    {
        while (true)
       {
            int x = somefunc();
           if (x == conditon)
           {
                SetSTATE = A;
           }
           Thread.Sleep(1000);
       }
    }
    MainWindow() { startThread(); }
}
パブリック部分クラス NEWVIEW: UserControl