gpt4 book ai didi

wpf - 显示 UserControl 时会触发什么事件?

转载 作者:行者123 更新时间:2023-12-03 00:35:27 28 4
gpt4 key购买 nike

我正在尝试为 WPF UserControls 添加淡入淡出效果(动画)(尽管是为 FrameworkElement 添加淡入淡出效果(动画),以使其更通用)。

如果我让 Loaded 事件触发初始淡入,淡入动画有时会在 UserControl 显示之前开始。结果一团糟。例如,如果 UserControl 在 Loaded 事件处理程序中执行了较长的操作(零点几秒),例如执行查询,就会发生这种情况。

因此,我需要处理 FrameworkElement/UserControl 在渲染内容时获取的一些事件,然后开始淡入。 System.Windows.Window 有一个 ContentRendered 事件,但 UserControl 没有。那么,当呈现 FrameworkElement(或 UserControl)时会触发什么事件?

最佳答案

尝试检查 SizeChanged 或 LayoutUpdated 上的大小。当实际宽度或高度不等于0时执行作业。

view.LayoutUpdated+=(o,e)=>
{
if (!loaded && (view.ActualHeight > 0 || view.ActualWidth > 0))
{
// You can also unsubscribe event here.
loaded =true;
}
}

关于wpf - 显示 UserControl 时会触发什么事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4708039/

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