WPF 中,邏輯樹的概念至關重要。如果一名 WPF 開發人員不知道什麼是邏輯樹,或者對邏輯樹一知半解,那麼他就不是一名合格的 WPF 開發人員。下面就把邏輯樹這個概念比較容易被曲解的地方加以說明:
1、邏輯樹並不只存在於使用 XAML 構建的對象中,使用程序代碼構建的對象同樣存在邏輯樹。
XAML 是專門用於 WPF 編程的新 API,就像當初 C# 是專門用於 .NET 開發的 API 一樣。因此,只要“界面
對象”被創建出來,我們就可以為其繪制邏輯樹。
2、邏輯樹是描述的是“界面對象”的構建過程,而不是“界面對象”的結構。
邏輯樹是由“界面對象”以及其所包含的對象共同構成的,這些被包含的對象是在創建“界面對象”時被添加到
該“界面對象”的)。
3、邏輯樹是由“界面對象”及其“內容屬性”構成的,他們之間是樹結構中的“父結點”與“子結點”。“子結點”還
可以繼續展開直至“子結點”不再包含“內容屬性”,那麼就可以說這個“子結點”是邏輯樹中的一個“葉子點”。
4、沒有值的“內容屬性”不會出現在邏輯樹中,只有具有屬性值的“內容屬性”才是邏輯樹的一個結點。
掌握了以上內容後,當我們拿到一段 XAML 或是一段 C# 代碼時就可以很輕松地把它所表示的邏輯樹畫出來了。WPF
中的許多概念都需要靠邏輯樹來幫助理解,所以能夠正確地畫出邏輯樹至關重要。