2017-06-15 18 views
0

這裏是場景: 假設我有一個TextBlock,並且我將一個Loaded事件放在它上面,在這種情況下,我指示它將Foreground設爲橙色。即使不直接調用,事件是否會觸發/評估?

因此,它加載,觸發Loaded事件,去我的代碼,並執行前臺指令。

如果我有1000個ListBox項上的這個TextBlock,它會觸發這1000次,對吧?

但是,如果我根本不調用「加載」(原樣保留文本塊),它是否仍然在此ListBox場景中觸發1,000次背景中的加載事件?

+0

如果沒有訂閱者,事件並不會被「解僱」。 – Evk

回答

1

如果我有1000個ListBox項目上的這個TextBlock,它會觸發這1000次,對吧?

是的,它會在每個TextBlock被加載時觸發。但請注意,如果ListBox使用UI虛擬化(默認情況下它不是),那麼並非所有1,000 TextBlocks都是預裝的。

但是,如果我根本不調用「Loaded」(原樣保留文本塊),它是否仍然在此ListBox場景中觸發1,000次背景中的Loaded事件?

Loaded事件本身仍可能針對被加載到可視樹提供的還有其他用戶每TextBlock被解僱,但因爲你沒有處理事件,你不會真正注意到。