匯出 (0) 列印
全部展開
本文章是由人工翻譯。 將指標移到文章內的文字上方即可查看原文。
譯文
原文

FrameworkElement.Parent 屬性

取得此項目的邏輯父項目。

命名空間:  System.Windows
組件:  PresentationFramework (在 PresentationFramework.dll 中)

public DependencyObject Parent { get; }

屬性值

型別:System.Windows.DependencyObject
這個項目的邏輯父項目。

在項目具現化 (Instantiated),但未附加至任何邏輯樹狀結構的情形下,Parent 可能會是 null,其最終會連接至頁面層級的根項目或應用程式物件。

請注意,項目的邏輯父項目有可能視應用程式的功能而變更,且保留這個屬性的值並不會反映該變更。 您通常應該就在需要該值之前取得該值。

如需周遊邏輯樹狀結構的詳細資訊,請參閱 WPF 中的樹狀結構,若使用 Parent 做為探索 (Discovery) 父項目的技巧也很適當。

當項目重設父代時,屬性引擎有可能重新計算該項目的所有屬性值,因為某些屬性會透過邏輯樹狀結構繼承值。 當項目重設父代時,為繫結套用的 DataContext 也可能變更。

變更項目的父代通常只會透過操作集合、使用專屬新增或移除方法或設定項目的內容屬性來執行。

使用 Parent 屬性的最典型案例就是取得參考,然後從父代取得不同 FrameworkElement 屬性值。 針對樣板,樣板的 Parent 最終會是 null 若要超過這個點並延伸至實際套用樣板的邏輯樹狀結構中,請使用 TemplatedParent

請注意,在這些項目與邏輯樹狀結構父系不同時,這個項目不會報告視覺化樹狀結構父系。 在一般應用程式的情形下,視覺化樹狀結構父系通常不重要,但是在某些視覺化層級的情形下,可能需要父項目。 請參閱VisualTreeHelper

下列範例顯示的程式碼會檢查項目之父系,接著會使用來自父系的屬性值在子項目上設定相符的屬性。 在這種情況下,會是影響到呈現大小的屬性。


private void OnUIReady(object sender, System.EventArgs e)
{
    LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
    LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
    DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
    this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
}


.NET Framework

支援版本:4、3.5、3.0

.NET Framework Client Profile

支援版本:4、3.5 SP1

Windows 7, Windows Vista SP1 (含) 以後版本, Windows XP SP3, Windows Server 2008 (不支援伺服器核心), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心), Windows Server 2003 SP2

.NET Framework 並不支援各種平台的所有版本。如需支援的版本的清單,請參閱.NET Framework 系統需求

社群新增項目

新增
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft