語言

FrameworkElement.SetBinding(DependencyProperty, BindingBase) 方法

定義

利用提供的綁定物件將綁定附加到 FrameworkElement。

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

參數

dp
DependencyProperty

資料綁定屬性的相依屬性識別碼。

binding
BindingBase

用於該物業的約束。

範例

此範例透過呼叫 SetBinding物件建立依賴性屬性的綁定。

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);

備註

此方法是一種方便方法,呼叫 BindingOperations.SetBinding,並將當前實例作為 target 參數傳遞。

參數的類型binding是 BindingBase,出於相容性考量,但在 Windows 執行階段 中,你總是會傳遞 Binding 實例。 Binding 衍生自 BindingBase。

參數 dp 採用相依屬性識別碼。 欲了解更多依賴屬性及 DependencyProperty 值如何作為識別碼,請參閱 依賴屬性概述。

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

由程式碼建立的綁定是否能使用行動中的資料上下文,取決於物件壽命的考量。 例如,從 XAML 設定的 DataContext 值,必須先解析該 XAML 才能使用。 在這種情況下,你可能想用 Loaded 處理器來從程式碼中加入綁定。

Note

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

綁定於附加屬性

你可以對目標物件所支援的任何附加屬性加上資料綁定。 技術上 DependencyObject 支援所有可能的附加屬性,但通常你只會在與該物件或你的情境相關的附加屬性上設定綁定。 例如,只有當你預期目標元素有會使用該資訊的格子父時,才會在 Grid.Row 上設定綁定。 指定 dp 參數為附加屬性擁有者類別上的相依屬性識別碼( Grid.Row 例如該識別碼為 Grid.RowProperty)。 你不會在目標上找到那個識別碼,因為它是一個附加屬性。 欲了解更多附屬物業資訊,請參閱 附屬物業總覽。

適用於

另請參閱