我的列表框项目的情节提要上有一个触发器,其中触发器是“已加载”。似乎每次列表框滚动时,项目都会收到“已加载”事件。我真的只希望情节提要在显示列表框项时运行一次。
我假设 Loaded 事件只会被触发一次。
任何帮助都会很棒。
谢谢!
我的列表框项目的情节提要上有一个触发器,其中触发器是“已加载”。似乎每次列表框滚动时,项目都会收到“已加载”事件。我真的只希望情节提要在显示列表框项时运行一次。
我假设 Loaded 事件只会被触发一次。
任何帮助都会很棒。
谢谢!
我不确定你是否可以让它只运行一次。大多数时候ListBox
将 aVirtualizingStackPanel
用于其ItemsPanel
. 这只会导致那些ListBoxItems
可见(或几乎可见)的内容被创建并添加到可视化树中。滚动离开后,可见的项目将被销毁,然后创建新可见的项目。每次滚动到一个项目时,它都会被重新创建,因此它的Loaded
事件会触发。
您可以尝试为您的列表框设置 VirtualizingStackPanel.IsVirtualizing="False" ,应该这样做。请注意,这会消耗更多资源,因为无论您是否在列表中看到它们,它们都将始终存在。如果你没有太多的项目,应该不是问题。