执行函数之前的网格可见性

时间:2015-02-09 17:54:24

标签: wpf grid

我对可见性网格有疑问。以下代码:

        private void btnInstall_Click(object sender, RoutedEventArgs e)
    {
        grid3.Visibility = Visibility.Hidden;
        grid4.Visibility = Visibility.Visible;
        Install();
    }

问题是grid3和grid4 visiblity仅在函数完成时更改,并且应该在execute函数之前。为什么会这样?我尝试添加Thread.Sleep,最后尝试,但没有成功。

1 个答案:

答案 0 :(得分:0)

直到函数结束,UI线程将被阻止。如果要在后台更新UI并运行Install方法,请创建一个线程并使用执行Install方法。请参阅以下代码。

 private void btnInstall_Click(object sender, RoutedEventArgs e)
    {
        grid3.Visibility = Visibility.Hidden;
        grid4.Visibility = Visibility.Visible;
        Task.Factory.StartNew(() => { Install(); });
    }