BindingOperations.SetBinding 方法

定義

Binding 與目標物件上的目標屬性產生關聯。 這個方法相當於在 XAML 標記中使用 {Binding} 標記延伸 的程式碼。

 static void SetBinding(DependencyObject const& target, DependencyProperty const& dp, BindingBase const& binding);
public static void SetBinding(DependencyObject target, DependencyProperty dp, BindingBase binding);
function setBinding(target, dp, binding)
Public Shared Sub SetBinding (target As DependencyObject, dp As DependencyProperty, binding As BindingBase)

參數

target
DependencyObject

應該是評估系結目標的物件。

dp
DependencyProperty

要系結之目標上的 屬性,由其識別碼指定。 這些識別碼通常可作為定義 目標 物件的型別或其中一個基底類型的靜態唯讀屬性。 您也可以系結至附加屬性,但請參閱。

binding
BindingBase

要指派給目標屬性的系結。 應該初始化此 結:必須先設定 Path 等重要 系結 屬性,再將 傳遞為 參數。

備註

您可以系結至自訂相依性屬性或自訂附加屬性,您傳遞為dp參數的識別碼不一定是Windows 執行階段定義的屬性。

BindingOperations.SetBinding 是靜態公用程式方法,基本上與 FrameworkElement.SetBinding相同。 較常使用 FrameworkElement.SetBinding ,因為它是實例方法。 不過,其中一個重要差異是 BindingOperations.SetBinding 可以使用任何DependencyObject的目標值,而FrameworkElement.SetBinding則定義只能用於FrameworkElement目標。 這通常不適用於用於 XAML UI 的大部分Windows 執行階段類別,因為這些類別大部分都是FrameworkElement子類別。 但是,如果您在衍生自 DependencyObjectUIElement的自訂類別上將系結設為目標,則區別可能很重要。

注意

呼叫 SetBinding 方法並傳入新的 Binding 物件不一定會移除現有的系結。 相反地,您應該先呼叫 DependencyObject.ClearValue 方法,然後呼叫 SetBinding。

系結至附加屬性

您可以將資料系結放在目標物件支援的任何附加屬性上。 技術上, DependencyObject 支援所有可能的附加屬性,但您通常只會在與該物件或案例相關的附加屬性上設定系結。 例如,只有在您預期目標元素具有將使用該資訊的Grid父系時,才會在Grid.Row上設定系結。 針對Grid.Row範例,將dp參數指定為附加屬性的擁有者類別 (上的相依性屬性識別碼,該識別碼為Grid.RowProperty) 。 您找不到目標上的識別碼,因為它是附加屬性。 如需附加屬性的詳細資訊,請參閱 附加屬性概觀

適用於

另請參閱