wpf未更新文本块文本和图像源

时间:2017-05-12 07:48:47

标签: c# wpf xaml

我正在尝试更改我的图像源和文本块中的一些文本,源代码来自一个从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!";
        }
    }

这是在延迟之后立即调用它并且它的功能是将接口重置为初始状态

0 个答案:

没有答案