x:TypeArguments Attribute

Passes required constraints to the constructor for a generic type.

XAML Attribute Usage

<object x:Class="namespace.classname" x:TypeArguments="{x:Type type1}[,{x:Type type2},{x:Type type3,...}]">
   ...
</object>

XAML Values

namespace

Optional. Specifies a CLR namespace that contains the partial class identified by classname. If namespace is specified, a dot (.) separates namespace and classname.

classname

Required. Specifies the CLR name of the partial class that connects the loaded XAML and your code-behind for that XAML.

type1, type2, type3, ...

Typename of the types to use to constraint the generic instance. The [ and ] in the syntax are not literals; they denote that any more than one type passed to x:TypeArguments is optional. If more than one type is passed, they must each be separated by a comma (,).

Dependencies

x:Class Attribute must also be provided on the same element, and that element must be the root element in a page.

Remarks

This attribute is only usable for the root element, with x:Class specified for that generic type, and only when that root element maps to a generic type with at least one type argument. An example is PageFunction<T>.

If the generic has a single type argument, the attribute value is a single type reference, with type specified as attribute value using the x:Type Markup Extension syntax. If the generic has multiple type arguments, the multiple type references are separated by commas within the attribute value.

See Also

Concepts

XAML and Custom Classes

Reference

x:Class Attribute

x:Type Markup Extension