gpt4 book ai didi

c# - 如何确定 WPF 用户控件何时完成加载

转载 作者:太空狗 更新时间:2023-10-29 23:10:26 24 4
gpt4 key购买 nike

我有一个 WPF 用户控件,它带有一个带有多个文本框和组合框的 UIElement 网格。我有一个 Button(btnApply),当表单加载完成时,其 IsEnabled 状态应该为 false。但是,在填充网格并将 IsEnabled 更改为 true 时将触发 TextChanged 事件。我添加了一个 bool 方法,它在用户控件完成加载后保持 btnApply.IsEnabled = false。但是,我不知道用户控件何时完全完成加载以更改我的方法的 bool 状态以允许更改 btnApply.IsEnabled。我已尝试在用户控件上加载事件并尝试检查 IsLoaded 事件,并且在用户控件上的所有元素完成加载之前它们都被触发。

编辑:用户控件的 UIElement 网格是通过 ItemsSource = List 填充的。文本框和组合框的更改通过 TextChanged 和 SelectionChanged 事件捕获。

最佳答案

尝试使用 Dispatcher 在晚于 Loaded 的 DispatcherPriority 触发 IsEnabled 更改,例如 Input。

Dispatcher.BeginInvoke(DispatcherPriority.Input,
new Action(delegate() { btnApply.IsEnabled = false; } ));

可以查看DispatcherPriority顺序here

关于c# - 如何确定 WPF 用户控件何时完成加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820889/

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