在處理 DataGrid 時,在代碼隱藏中,我可以沿著可視化樹向下移動到單元格及其后代。
在 XAML 中,FindAncestor 允許我們向上走可視化樹以訪問沒有名稱的目標元素。
由于沒有 FindDescendant,我想弄清楚如何向下走,而不是在代碼隱藏或 MVVM 中。
uj5u.com熱心網友回復:
不,至少目前,這種 FindDescendant 功能不在這里。您在嘗試僅通過 XAML 實作它時可能面臨的主要問題是,可能有零個或多個結果符合您的條件,這與向上走的樹不同,在那里您只能看到一個父元素(或根本沒有父元素的根元素) )。所以結果是一個集合,而不是單個元素。
問題的另一方面是通過模板選擇器改變子節點表示的能力:這樣,父節點應該知道樹下的所有更改,一直向下(可能是無數級別)。但是,從系統設計的角度來看,最好隱藏這些知識并將其委托給子節點自己。
并非最后也是最不重要的:如果您根據子項行為更改父項,如果反過來指示子項通過 FindAncestor 跟蹤父項行為,則可能會導致回圈依賴/鎖定。XAML 死鎖?謝謝,但不,謝謝!
所以說到底,還是很有爭議的能力。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/393103.html
