2009-06-19 22 views
0

トリガーが「ロード済み」のリストボックス項目のストーリーボードにトリガーがあります。 リストボックスがスクロールするたびに、アイテムは「ロード済み」イベントを受け取るように見えます。 私は実際には、リストボックス項目が表示されたときにストーリーボードを一度実行するだけです。ListboxItem複数回ロードされました

私はLoadedイベントが1回だけトリガされると想定しました。

助けがあれば助かります。

ありがとうございます!

答えて

1

一度だけ実行できるかどうかはわかりません。ほとんどの場合、ListBoxItemsPanelVirtualizingStackPanelを使用します。これにより、可視またはほぼ可視のListBoxItemsのみが作成され、ビジュアルツリーに追加されます。一度スクロールすると、表示されていたアイテムが破棄され、新しく表示されたアイテムが作成されます。アイテムにスクロールするたびに、アイテムが再作成され、その結果、Loadedイベントが発生します。

+1

VirtualizingStackPanelは、ListBoxのデフォルトのItemsPanelです。 – micahtan

0

あなたのリストボックスにVirtualizingStackPanel.IsVirtualizing = "False"を設定してみることもできます。アイテムはリストに表示されているかどうかにかかわらず常にそこに存在するため、これはより多くのリソースを消費することに注意してください。あなたはそれにあまりにも多くのアイテムを持っていない場合でも問題はありません。