Скройте окно WPF до полностью загруженный

Я верю, лучше использовать несколько UpdatePanel, если Вы можете из-за размера POST, который генерирует UpdatePanel. Еще лучше, если можно использовать ручные подходы Ajax для мелочей как обновление поля. WPF обеспечивает некоторые функции JavaScript и методы для выполнения этого. Вот некоторая ссылка, которая может быть полезной:

8
задан Ben McIntosh 27 September 2009 в 10:53
поделиться

3 ответа

Отредактируйте Application.xaml, удалите StartUpUri, вместо этого установите обработчик событий StartUp. В Application.xaml.cs отредактируйте обработчик событий запуска, чтобы отобразить экран-заставку, загрузите ресурсы, создайте все, затем создайте главное окно и покажите его.

<Application
    ...
    StartUp="OnStartUp"
    />

И:

private void OnStartUp(Object sender, StartupEventArgs e)
{
    var settings = LoadSettingsFrom... // Call your implementation of load user settings

    // Example only, in real app do this if's section on a different thread
    if (settings.doShowSplashScreen)
    {
        var splashScreen = new SplashScreen();
        splashScreen.Show();
    }

    // Load and create stuff (resources, databases, main classes, ...)

    var mainWindow = new mainWindow();
    mainWindow.ApplySettings(settings); // Call your implementation of apply settings

    if (doShowSplashScreen)
    {
        // send close signal to splash screen's thread
    }

    mainWindow.Show(); // Show the main window
}
10
ответ дан 5 December 2019 в 10:42
поделиться

Существуют функции BeginInit и EndInit, если вы измените свойства внутри этих функций, например ..

BeginInit();
...
... // Do your code Initialization here...
...
EndInit();

, ваше окно не будет отображаться до тех пор, пока EndInit ( ) называется, мерцать не будет.

3
ответ дан 5 December 2019 в 10:42
поделиться

Когда происходит эта загрузка? Код, выполняемый в конструкторе главного Window , должен выполняться до того, как окно будет показано; если вы загрузите туда необходимые ресурсы, вы не увидите мерцания.

0
ответ дан 5 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: