Binding 類別

定義

提供繫結定義的高層級存取,連接繫結目標物件的屬性 (通常為 WPF 元素) 和任何資料來源 (例如資料庫、XML 檔案或任何包含資料的物件)。

public ref class Binding : System::Windows::Data::BindingBase
public class Binding : System.Windows.Data.BindingBase
type Binding = class
    inherit BindingBase
Public Class Binding
Inherits BindingBase
繼承

備註

Windows Presentation Foundation (WPF) 資料繫結提供簡單且一致的方式,讓應用程式能夠呈現資料並與其互動。 資料系結可讓您同步處理兩個不同物件的屬性值。

若要建立系結,請使用 Binding 類別或繼承 BindingBase 的其他類別之一。 無論您系結的物件為何,以及資料來源的本質為何,每個系結都會遵循下圖所說明的模型。

基本資料系結圖 基本

此圖示范下列基本 WPF 資料系結概念。

  • 每個系結通常都有這四個元件:系結目標物件、目標屬性、系結來源,以及 Path 系結來源中要使用的值。 例如,如果您想要將 的內容 TextBox 系結至 Employee 物件的 Name 屬性,您的目標物件是 ,目標屬性是 TextBoxText 屬性,要使用的值為 Name,而來源物件是 Employee 物件。

  • 目標屬性必須是相依性屬性。 這也表示您無法系結欄位。 物件的大部分屬性 UIElement 都是相依性屬性和大部分相依性屬性,但唯讀屬性除外,預設支援資料系結。 (只有 DependencyObject 類型可以定義相依性屬性,且所有 UIElement 物件都衍生自 DependencyObject .)

  • 雖然在圖中未指定,但應該注意系結來源物件不限於成為自訂 CLR 物件。 WPF 資料系結支援 CLR 物件和 XML 格式的資料。 若要提供一些範例,系結來源可能是 UIElement 、任何清單物件、與 ADO.NET 資料或 Web 服務相關聯的 CLR 物件,或是包含 XML 資料的 XmlNode。

Mode使用 屬性來指定資料流程的方向。 若要偵測單向或雙向系結中的來源變更,來源必須實作適當的屬性變更通知機制,例如 INotifyPropertyChanged 。 如需範例,請參閱 如何:實作屬性變更通知。 屬性 UpdateSourceTrigger 會指定來源更新的時間。 如需詳細資訊,請參閱 資料系結概觀中的。

XAML Attribute Usage

<object property="{Binding  declaration}"/>  

XAML 值

聲明
以逗號分隔的零個或多個屬性指派子句 (,) 。 如需詳細資訊,請參閱 系結標記延伸系結宣告概觀

建構函式

Binding()

初始化 Binding 類別的新執行個體。

Binding(String)

使用初始路徑,初始化 Binding 類別的新執行個體。

欄位

DoNothing

作為傳回值,指示繫結引擎不要執行任何動作。

IndexerName

做為 PropertyNamePropertyChangedEventArgs,表示索引子屬性已變更。

SourceUpdatedEvent

識別 SourceUpdated 附加事件。

TargetUpdatedEvent

識別 TargetUpdated 附加事件。

XmlNamespaceManagerProperty

識別 XmlNamespaceManager 附加屬性。

屬性

AsyncState

取得或設定傳遞至非同步資料發送器的不透明資料。

BindingGroupName

取得或設定這個繫結所屬之 BindingGroup 的名稱。

(繼承來源 BindingBase)
BindsDirectlyToSource

取得或設定值,這個值表示是否評估與資料項目或 DataSourceProvider 物件相對的 Path

Converter

取得或設定要使用的轉換子。

ConverterCulture

取得或設定文化特性,藉以評估轉換器。

ConverterParameter

取得或設定要傳遞至 Converter 的參數。

Delay

在目標的值變更之後,取得或設定更新繫結來源之前等待的時間長度 (以毫秒為單位)。

(繼承來源 BindingBase)
ElementName

取得或設定要作為繫結來源物件的項目名稱。

FallbackValue

取得或設定當繫結無法傳回值時要用的值。

(繼承來源 BindingBase)
IsAsync

取得或設定值,指出 Binding 是否應該以非同步方式取得並設定值。

Mode

取得或設定值,這個值表示繫結中資料流程的方向。

NotifyOnSourceUpdated

取得或設定值,這個值指出將值從繫結目標轉移到繫結來源時,是否要引發 SourceUpdated 事件。

NotifyOnTargetUpdated

取得或設定值,這個值指出將值從繫結來源轉移到繫結目標時,是否要引發 TargetUpdated 事件。

NotifyOnValidationError

取得或設定值,這個值指出是否要在繫結物件上引發 Error 附加事件。

Path

取得或設定繫結程序來源屬性的路徑。

RelativeSource

透過指定繫結來源對繫結目標的相對位置,取得或設定繫結來源。

Source

取得或設定要作為繫結來源的物件。

StringFormat

取得或設定字串,這個字串指定繫結在其繫結值顯示成字串時的格式化方式。

(繼承來源 BindingBase)
TargetNullValue

取得或設定當來源值為 null 時目標中所使用的值。

(繼承來源 BindingBase)
UpdateSourceExceptionFilter

取得或設定可用來提供自訂邏輯的處理常式,以處理繫結引擎在更新繫結來源值期間所遇到的例外狀況。 只有您已建立 ExceptionValidationRule 與繫結的關聯時才適用。

UpdateSourceTrigger

取得或設定值,這個值會判斷繫結來源更新的時機。

ValidatesOnDataErrors

取得或設定值,這個值表示是否要包含 DataErrorValidationRule

ValidatesOnExceptions

取得或設定值,這個值表示是否要包含 ExceptionValidationRule

ValidatesOnNotifyDataErrors

取得或設定值,這個值表示是否要包含 NotifyDataErrorValidationRule

ValidationRules

取得檢查使用者輸入有效性的規則集合。

XPath

取得或設定 XPath 查詢,這個查詢會傳回要使用的 XML 系結來源上的值。

附加屬性

XmlNamespaceManager

取得或設定 XmlNamespaceManager,用於在 XML 繫結中執行命名空間感知 XPath 查詢。

方法

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

加入 SourceUpdated 附加事件的處理常式。

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

加入 TargetUpdated 附加事件的處理常式。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetXmlNamespaceManager(DependencyObject)

傳回附加至指定物件的系結所使用的 XML 命名空間管理員物件。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ProvideValue(IServiceProvider)

傳回物件,這個物件應該設定於套用這個繫結和延伸的屬性上。

(繼承來源 BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

移除 SourceUpdated 附加事件的處理常式。

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

移除 TargetUpdated 附加事件的處理常式。

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

設定所提供項目附加的繫結所使用的命名空間管理員物件。

ShouldSerializeFallbackValue()

傳回值,表示在這個類別的執行個體上,序列化處理序是否應該將 FallbackValue 屬性的有效值序列化。

(繼承來源 BindingBase)
ShouldSerializePath()

指示是否應該保存 Path 屬性。

ShouldSerializeSource()

指示是否應該保存 Source 屬性。

ShouldSerializeTargetNullValue()

傳回值,這個值表示是否應該序列化此 TargetNullValue 屬性。

(繼承來源 BindingBase)
ShouldSerializeValidationRules()

指示是否應該保存 ValidationRules 屬性。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

附加事件

SourceUpdated

當某個值從繫結目標傳輸至繫結來源,但只在繫結已設定為 trueNotifyOnSourceUpdated 值時發生。

TargetUpdated

發生於值從繫結來源傳送至繫結目標時,但僅針對 NotifyOnTargetUpdated 值設為 true 的繫結。

適用於

另請參閱