BindingBase.ProvideValue(IServiceProvider) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳一個物件,該物件應該設在該綁定與擴充的屬性上。
public:
override System::Object ^ ProvideValue(IServiceProvider ^ serviceProvider);
public override sealed object ProvideValue(IServiceProvider serviceProvider);
override this.ProvideValue : IServiceProvider -> obj
Public Overrides NotOverridable Function ProvideValue (serviceProvider As IServiceProvider) As Object
參數
- serviceProvider
- IServiceProvider
這個物件能提供標記擴充功能的服務。 可以是 null。
傳回
綁定目標屬性上要設定的值。
備註
此實作提供了透過可擴充應用標記語言(XAML)綁定所有實用衍生類別(Binding、、 PriorityBindingMultiBinding和 )的基礎語法支援。
BindingBase此方法的類別實作預期會回傳一個由綁定結果產生的表達式物件。 綁定屬性的方法是將給定 DependencyProperty 的目標鎖定在給定 DependencyObject的屬性上。 這兩個資訊是透過查詢 IProvideValueTarget 上的 serviceProvider 實作來傳送,WPF XAML 讀取器會在解析綁定時提供該實作。 此基底類別實作負責檢查有效 DependencyProperty 且 DependencyObject。 若找到這些,實際回傳綁定表達式的實作將由各種派生類別負責,透過基底類別呼叫內部抽象方法實現。 否則,擴充功能會回傳綁定物件本身。 返回綁定本身會導致型別不匹配,但在正常情況下不應發生。
Important
由於此方法實作的 XAML 綁定語法依賴於實作內部覆寫,且本身 BindingBase.ProvideValue 是封存的,因此由 衍生 BindingBase 的自訂綁定類別無法正確作為 XAML 標記擴充功能。