WPF自定義控件數據綁定出現的問題


測試發現,父控件構造函數中初始化界面的部分會完成子控件與父控件ViewModel的數據綁定。因此,如果在父控件構造函數執行前初始化父控件ViewModel中的屬性,將導致在子控件執行OnApplyTemplate時無法獲取到綁定的改屬性。因此,需要盡量避免在父控件構造前構造父控件的ViewModel

正常情況下,ViewModel的初始化都會在控件構造后。我遇到這個問題是由於使用DataTemplate+ViewModel進行控件切換,需要提前初始化ViewModel作為DateTemplate選擇View的依據。

我發現TextBox這類原生框架並不會因為這種順序的差異而出現問題,本質上還是自己寫的自定義控件存在缺陷。日后我會繼續尋找這個缺陷,現在出現的這個問題,我會通過在父控件InitializeComponent()方法前再次初始化ViewModel中屬性的方式解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM