PresentationOptions:Freeze Attribute

Sets the IsFrozen state to true on the containing Freezable element. Default behavior for a Freezable without the PresentationOptions:Freeze attribute specified is that IsFrozen is false at load time, and dependent on general Freezable behavior at runtime.

XAML Attribute Usage

<object  
  xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"  
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
  mc:Ignorable="PresentationOptions">  
    <freezableElement PresentationOptions:Freeze="true"/>  
</object>  

XAML Values

Value Description
PresentationOptions An XML namespace prefix, which can be any valid prefix string, per the XML 1.0 specification. The prefix PresentationOptions is used for identification purposes in this documentation.
freezableElement An element that instantiates any derived class of Freezable.

Remarks

The Freeze attribute is the only attribute or other programming element defined in the http://schemas.microsoft.com/winfx/2006/xaml/presentation/options XML namespace. The Freeze attribute exists in this special namespace specifically so that it can be designated as ignorable, using mc:Ignorable Attribute as part of the root element declarations. The reason that Freeze must be able to be ignorable is because not all XAML processor implementations are able to freeze a Freezable at load time; this capability is not part of the XAML specification.

The ability to process the Freeze attribute is specifically built in to the XAML processor that processes XAML for compiled applications. The attribute is not supported by any class, and the attribute syntax is not extensible or modifiable. If you are implementing your own XAML processor you can choose to parallel the freezing behavior of the WPF XAML processor when processing the Freeze attribute on Freezable elements at load time.

Any value for the Freeze attribute other than true (not case sensitive) generates a load time error. (Specifying the Freeze attribute as false is not an error, but that is already the default, so setting to false does nothing).

See also