トリガーが「ロード済み」のリストボックス項目のストーリーボードにトリガーがあります。 リストボックスがスクロールするたびに、アイテムは「ロード済み」イベントを受け取るように見えます。 私は実際には、リストボックス項目が表示されたときにストーリーボードを一度実行するだけです。ListboxItem複数回ロードされました
私はLoadedイベントが1回だけトリガされると想定しました。
助けがあれば助かります。
ありがとうございます!
トリガーが「ロード済み」のリストボックス項目のストーリーボードにトリガーがあります。 リストボックスがスクロールするたびに、アイテムは「ロード済み」イベントを受け取るように見えます。 私は実際には、リストボックス項目が表示されたときにストーリーボードを一度実行するだけです。ListboxItem複数回ロードされました
私はLoadedイベントが1回だけトリガされると想定しました。
助けがあれば助かります。
ありがとうございます!
一度だけ実行できるかどうかはわかりません。ほとんどの場合、ListBox
はItemsPanel
にVirtualizingStackPanel
を使用します。これにより、可視またはほぼ可視のListBoxItems
のみが作成され、ビジュアルツリーに追加されます。一度スクロールすると、表示されていたアイテムが破棄され、新しく表示されたアイテムが作成されます。アイテムにスクロールするたびに、アイテムが再作成され、その結果、Loaded
イベントが発生します。
あなたのリストボックスにVirtualizingStackPanel.IsVirtualizing = "False"を設定してみることもできます。アイテムはリストに表示されているかどうかにかかわらず常にそこに存在するため、これはより多くのリソースを消費することに注意してください。あなたはそれにあまりにも多くのアイテムを持っていない場合でも問題はありません。
VirtualizingStackPanelは、ListBoxのデフォルトのItemsPanelです。 – micahtan