こんにちは、私は 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