Share via

IUriContext Interface


Represents a service that can use application context to resolve a provided relative URI to an absolute URI.

public interface class IUriContext
public interface IUriContext
type IUriContext = interface
Public Interface IUriContext


IUriContext implemented as a service enables type converters to use an application-specific context that might be able to complete a URI-type property.

Type converters and markup extensions can query for IUriContext as a service on the service context that is provided by a XAML object writer, when the XAML object writer invokes value conversion behavior. For more information, see Type Converters and Markup Extensions for XAML and Service Contexts Available to Type Converters and Markup Extensions.

IUriContext is not just for value conversion and service context. Class logic for UI elements or other classes that support containment might also implement IUriContext services as a recognized pattern that child elements can call for base URI information, or store base URI information that is obtained from XAML parsing of the root element.

In previous versions of the .NET Framework, this interface existed in the WPF-specific assembly PresentationCore. In .NET Framework 4, IUriContext is in the System.Xaml assembly. For more information, see Types Migrated from WPF to System.Xaml.

WPF Usage Notes

Example scenarios for IUriContext exist in WPF.

As an example of a value converter, the FontFamilyConverter class can use a relative URI that is provided for properties such as Page.FontFamily, if IUriContext is available as a service on the ITypeDescriptorContext input.

As an example of the element case, Hyperlink implements IUriContext so that it can pass through base URI values when parsed, which then modifies NavigateUri.



Gets or sets the base URI of the current application context.

Applies to

See also