我正在尝试更改我的图像源和文本块中的一些文本,源代码来自一个从WCF服务返回的类,并且是一种String格式,当我在我的代码中使用一些函数,图像和文本将更新,但如果我尝试在Thread.Sleep之前更新它,它将不会更改,对于文本块也是如此
这是有问题的代码:
//ris is the class returned from the server
image.Source = new BitmapImage(new Uri("Res/" + ris.carta + ".png", UriKind.Relative));
if (ris.IDv == ID)
{
puntiuno += ris.punti;
txtb_info.Text += "\nHai vinto la mano!";
mano.Add(ricevicarte(2)[0]);
V = true;
}
else
{
txtb_info.Text += "\nHai perso la mano!";
puntidue += ris.punti;
mano.Add(ricevicarte(2)[0]);
V = false;
}
//Secondacarta(ris.carta);
System.Threading.Thread.Sleep(5000);
aggiornainterfaccia();
txtb_info.Text += "\nNuova mano!";
blocco = 0;
Thread.Sleep工作之后的所有内容,我尝试过的每个WPF控件更新都无法正常工作
这是“aggiornainterfaccia()”代码:
private void aggiornainterfaccia()
{
ris = null;
carta1_img.Source = new BitmapImage(new Uri("Res/" + mano[0] + ".png", UriKind.Relative));
carta2_img.Source = new BitmapImage(new Uri("Res/" + mano[1] + ".png", UriKind.Relative));
carta3_img.Source = new BitmapImage(new Uri("Res/" + mano[2] + ".png", UriKind.Relative));
image.Source = new BitmapImage(new Uri("Res/dorso.png", UriKind.Relative));
txt_punti_p1.Text = "Punti: " + puntiuno.ToString();
txt_punti_p2.Text = "Punti: " + puntidue.ToString();
txtb_info.Text = "";
if (V)
{
lbl_mano.Content = "Sei di mano!";
}
else
{
lbl_mano.Content = "Non sei di mano!";
}
}
这是在延迟之后立即调用它并且它的功能是将接口重置为初始状态