我正在编写一个 wpf 应用程序,它在单击按钮时从 excel 表中提取数据并加载另一个窗口,其中存在显示结果的数据网格。
现在加载第二个窗口需要 10-12 秒,在此期间我的应用程序冻结。现在我想要的是显示一个小的圆形带状按钮,它将旋转并显示“请稍候”文本。这将显示在第一个窗口的中心,第一个窗口的其他内容将变暗。
加载第二个窗口后,第一个窗口关闭。请告诉我如何做到这一点。
我正在编写一个 wpf 应用程序,它在单击按钮时从 excel 表中提取数据并加载另一个窗口,其中存在显示结果的数据网格。
现在加载第二个窗口需要 10-12 秒,在此期间我的应用程序冻结。现在我想要的是显示一个小的圆形带状按钮,它将旋转并显示“请稍候”文本。这将显示在第一个窗口的中心,第一个窗口的其他内容将变暗。
加载第二个窗口后,第一个窗口关闭。请告诉我如何做到这一点。
问题已解决。非常感谢你的帮助。以下是我使用的代码。
namespace ScoreX
{
public partial class Score : Window
{
Applications ap;
public Score()
{
InitializeComponent();
}
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
//cb is Circular progress bar
cbProgress.Visibility = Visibility.Hidden;
//Some codes
}
private void btnProceed_Click(object sender, RoutedEventArgs e)
{
//Some lines of Codes
Thread t1 = new Thread(new ThreadStart(CalculateData));
t1.SetApartmentState(ApartmentState.STA);
t1.Start();
cbProgress.Visibility = Visibility.Visible;
}
private void CalculateData()
{
//Some codes
Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate()
{
ap = new Applications();
this.Close();
ap.ShowDialog();
}
);
}