gpt4 book ai didi

wpf - WPF-启动时什么时候将元素显示在屏幕上?

转载 作者:行者123 更新时间:2023-12-03 10:16:10 25 4
gpt4 key购买 nike

我正在尝试制作一个“正在加载”的覆盖图,以显示我的程序何时从在线数据库中获取数据。

加载发生在开始时(启动时),但是我在显示叠加层时遇到了一些问题。

似乎在获取我的数据时未显示布局,因此无法显示叠加层。

我的猜测是,元素将在“InitializeComponent()”方法之后显示,但事实并非如此。

public MainWindow()
{
InitializeComponent();
Loaded += OnLoaded;
}

private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
{
this.DataContext = new MainViewModel();
OverlayLoading.Visibility = Visibility.Hidden;
}

重要提示:数据在MainViewModel的构造函数中获取(我正在使用MVVM)

帮助将不胜感激!

最佳答案

您正在UI线程上获取数据,这将阻止UI直到检索到数据为止,此时您不再需要显示叠加层。

您需要做的是从另一个线程获取数据,从而允许UI在执行操作时显示加载叠加层。您应该看看 BackgroundWorker -它知道如何很好地处理此类情况(这些情况是在后台线程上执行操作并允许在保持响应性的同时更新UI)。

关于wpf - WPF-启动时什么时候将元素显示在屏幕上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23581182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com