嗨,我是编写 C# 应用程序的新手。
对不起,如果它太基本了。我有一个在 Main xaml 中运行的线程,它查询一些信息并更新一个属性。
因此,一旦我检测到该属性设置为“X”,我就需要切换到不同的 XAML 视图。
我面临的问题是当我从属性调用开关时,我的应用程序崩溃了。我认为这与线程有关..
问:如何在检测到属性值更改后立即切换到不同的 XAML 视图?
示例代码:
公共部分类 MainWindow : Window {
....
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