我在listboxitem的故事板上有一个触发器,触发器是'Loaded'。 似乎每次列表框滚动项目时都会获得“已加载”事件。 当listboxitem显示时,我真的只希望故事板运行一次。
我认为Loaded事件只会被触发一次。
任何帮助都会很棒。
谢谢!
答案 0 :(得分:1)
我不确定你是否只能运行一次。大多数情况下,ListBox
会为其VirtualizingStackPanel
使用ItemsPanel
。这会导致仅创建可见(或几乎可见)的ListBoxItems
并将其添加到可视树中。滚动后,可见的项目将被销毁,然后会创建新显示的项目。每次滚动到某个项目时,都会重新创建该项目,因此会触发其Loaded
事件。
答案 1 :(得分:0)
您可以尝试为列表框设置VirtualizingStackPanel.IsVirtualizing =“False”,应该这样做。请注意,这会消耗更多资源,因为无论您是否在列表中看到它们,项目都将始终存在。如果你的物品里面没有太多物品,那应该不成问题。