Binding 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供繫結定義的高層級存取,連接繫結目標物件的屬性 (通常為 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 |
做為 PropertyName 的 PropertyChangedEventArgs,表示索引子屬性已變更。 |
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 |
取得或設定當來源值為 |
UpdateSourceExceptionFilter |
取得或設定可用來提供自訂邏輯的處理常式,以處理繫結引擎在更新繫結來源值期間所遇到的例外狀況。 只有您已建立 ExceptionValidationRule 與繫結的關聯時才適用。 |
UpdateSourceTrigger |
取得或設定值,這個值會判斷繫結來源更新的時機。 |
ValidatesOnDataErrors |
取得或設定值,這個值表示是否要包含 DataErrorValidationRule。 |
ValidatesOnExceptions |
取得或設定值,這個值表示是否要包含 ExceptionValidationRule。 |
ValidatesOnNotifyDataErrors |
取得或設定值,這個值表示是否要包含 NotifyDataErrorValidationRule。 |
ValidationRules |
取得檢查使用者輸入有效性的規則集合。 |
XPath |
取得或設定 |
附加屬性
XmlNamespaceManager |
取得或設定 XmlNamespaceManager,用於在 XML 繫結中執行命名空間感知 |
方法
附加事件
SourceUpdated |
當某個值從繫結目標傳輸至繫結來源,但只在繫結已設定為 |
TargetUpdated |
發生於值從繫結來源傳送至繫結目標時,但僅針對 NotifyOnTargetUpdated 值設為 |