Silverlight控件模型中的某個事件是否在某個項目被數據綁定時引發?我在設計時綁定了大量數據,並希望在數據綁定完成之前顯示動畫。Silverlight DataBinding加載動畫
0
A
回答
0
數據綁定完成時沒有發生特定事件。你最好的選擇可能是關閉FrameworkElement.LayoutUpdated事件。這是控件準備好用於用戶交互之前生命週期中的最後一個事件。但是,由於屬性更改,大小更改以及對UpdateLayout()或InvalidateArrange()的明確調用,此事件將繼續進行多次。因此,您必須添加一些額外的邏輯,以確保LayoutUpdated事件保證停止/隱藏您的動畫,例如僅在第一次執行該動畫時,或者如果您確定事件是由於數據綁定更改而被解僱的。
如果控件實際上是您自己的自定義控件,並且您綁定了該控件上的自定義DependencyProperties,那麼您可以在PropertyChangedCallbacks上爲每個屬性發出自己的事件,以表示它們已通過數據綁定更新。
0
這是我做的:
private object lastDataContext;
private void MyClass_Loaded(object sender, RoutedEventArgs e)
{
if (DataContext != lastDataContext)
{
perform_onetime_operation();
lastDataContext = DataContext;
}
}
這樣perform_onetime_operation
將調用不只是第一次綁定發生,但任何時候DataContext的變化意味着數據被重新綁定。
相關問題
- 1. Silverlight Datagrid Databinding
- 2. databinding fontweight silverlight 4
- 3. Silverlight DataBinding MVVM
- 4. HTML加載動畫
- 5. 加載動畫PNG
- 6. AJAX加載動畫
- 7. WPF加載動畫
- 8. Android加載動畫
- 9. 動態加載Silverlight XAP
- 10. Silverlight標準加載動畫不會顯示
- 11. Silverlight DataBinding跨線程問題
- 12. Silverlight 4:如何在DataBinding期間更改TextBlock的文本時觸發動畫?
- 13. Silverlight動畫工具
- 14. Silverlight動畫補間
- 15. Silverlight動畫問題
- 16. Silverlight動畫問題
- 17. 導出Silverlight動畫
- 18. Silverlight:暫停動畫
- 19. 刪除Silverlight動畫
- 20. ajax加載進度動畫
- 21. 動畫加載屏幕
- 22. 在Asynctask中加載動畫
- 23. 加載動畫圖像
- 24. JQuery全局加載動畫
- 25. AJAX加載動畫腳本
- 26. jQuery無gif加載動畫
- 27. 「加載」動畫優先
- 28. 角度加載動畫
- 29. 重新加載表動畫
- 30. 加載動畫與延遲