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
。
傳回
要針對繫結目標屬性設定的值。
備註
此實作針對所有提供的實際衍生類別 Binding , (、 PriorityBinding 和 MultiBinding) ,提供可延伸應用程式標記語言 (XAML) 的基底語法支援。
BindingBase此方法的類別實作預期會傳回系結結果的運算式物件。 系結屬性的運作方式是將指定 DependencyProperty 的目標設為指定的 DependencyObject 。 這兩項資訊會透過查詢 IProvideValueTarget 上的 serviceProvider
實作來傳輸,WPF XAML 讀取器會在剖析系結期間提供。 這個基類實作負責檢查有效的 DependencyProperty 和 DependencyObject 。 如果找到這些專案,傳回系結運算式的實際實作會落到各種衍生類別,因為基類呼叫內部抽象方法所實作。 否則,延伸模組會傳回系結物件本身。 傳回系結本身會導致類型不符錯誤,但這不應該在正常情況下發生。
重要
因為此方法中所實作的 XAML 系結語法依賴實作內部覆寫,而且 BindingBase.ProvideValue 因為本身是密封的,所以衍生自 BindingBase 的自訂系結類別將無法正確當做 XAML 標記延伸運作。