【问题标题】:WPF Page NavigationService - How to load UI Completely before executing Page EventsWPF Page NavigationService - 如何在执行页面事件之前完全加载 UI
【发布时间】:2012-10-18 12:02:48
【问题描述】:

我有一个使用 WPF + 页面导航的应用程序。应用程序和流程运行良好,不是问题。但是最近在做一些测试的时候,发现代码中有如下行为。

我用过NavigationServices.Navigate(new Class())

当我触发此功能时,页面确实可以正确导航,但它甚至在完全加载页面之前执行某些事件。

例子:

在类构造函数下和InitializeComponent(); 之后的下一行我启用了一个radioButton,并且这个radioButton 启用了事件检查。因此,基于此,即使在 UI 完全加载到框架中之前,逻辑也会首先执行。

我的问题:如何在一段时间内停止所有事件并确保 UI 已完全加载,然后事件触发。

【问题讨论】:

    标签: .net wpf


    【解决方案1】:

    使用Window.Loaded 事件;一旦所有 UI 组件都准备好就会触发。

    在元素布局、渲染并准备好交互时发生。

    public MyWindow() 
    {
        InitializeComponent();
        this.Loaded += MyWindow_Loaded;
    }
    
    private void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        // initialization stuff ...
    }
    

    【讨论】:

    • 行为发生了变化,但仍然出现空白屏幕,事件被执行,然后 UI 可见,有什么方法可以解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 2016-01-06
    • 2010-11-05
    相关资源
    最近更新 更多