RelativeSource.ProvideValue Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Returns an object that should be set as the value on the target object's property for this markup extension. For RelativeSource, this is another RelativeSource, using the appropriate source for the specified mode.

Namespace:  System.Windows.Data
Assembly:  System.Windows (in System.Windows.dll)

Syntax

'Declaration
Public Overrides NotOverridable Function ProvideValue ( _
    serviceProvider As IServiceProvider _
) As Object
public override sealed Object ProvideValue(
    IServiceProvider serviceProvider
)

Parameters

  • serviceProvider
    Type: System.IServiceProvider
    An object that can provide services for the markup extension. In this implementation, this parameter can be nulla null reference (Nothing in Visual Basic).

Return Value

Type: System.Object
Another RelativeSource.

Implements

IMarkupExtension<T>.ProvideValue(IServiceProvider)

Remarks

RelativeSource is simultaneously a markup extension implementation and a data object. When the extension returns itself, the relevant information is contained in the data. The main purpose of the markup extension is to allow a variable-argument constructor syntax in attribute form so that the FindAncestor mode can be defined inline, with the two extra arguments for ancestor type and level that the other modes do not require.

This method supports the Silverlight infrastructure that enables RelativeSource to be used from XAML and interpreted as a markup extension by Silverlight XAML processors. ProvideValue(IServiceProvider) is not intended to be invoked by user code. ProvideValue(IServiceProvider) is sealed and includes code paths only for a Binding usage. It is not possible to derive from RelativeSource and produce binding expression / markup extension behavior that invokes ProvideValue(IServiceProvider) in a useful way.

Version Information

Silverlight

Supported in: 5

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.