RelativeSource.ProvideValue Method

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)

public override sealed Object ProvideValue(
	IServiceProvider serviceProvider


Type: System.IServiceProvider
An object that can provide services for the markup extension. In this implementation, this parameter can be null.

Return Value

Type: System.Object
Another RelativeSource.



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.


Supported in: 5

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

Community Additions