PresentationOptions:Freeze 属性

含まれている Freezable 要素に対して IsFrozen 状態を true に設定します。 PresentationOptions:Freeze 属性を指定していない状態での Freezable の既定の動作は、読み込み時には IsFrozen が false となり、実行時には一般的な Freezable の動作に依存します。

XAML 属性の使用方法

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

XAML 値

PresentationOptions

XML 名前空間プレフィックス。XML 1.0 仕様で定められている有効な任意のプレフィックス文字列を指定できます。 プレフィックス PresentationOptions は、このドキュメントでの識別のために使用します。

freezableElement

Freezable の任意の派生クラスをインスタンス化する要素。

解説

Freeze 属性は、属性および他のプログラミング要素の中で唯一、https://schemas.microsoft.com/winfx/2006/xaml/presentation/options XML 名前空間で定義されています。 Freeze 属性がこの特殊な名前空間に置かれているのは、ルート要素宣言の一部として mc:Ignorable 属性 を使用して、明確に無視可能と指定できるようにするためです。 Freeze を無視できるようにする必要があるのは、XAML プロセッサの実装の中には、読み込み時に Freezable を固定できないものがあるためです。この機能は、XAML の仕様には含まれていません。

Freeze 属性を処理する機能は、コンパイル済みアプリケーション用に XAML を処理する XAML プロセッサに明確に組み込まれています。 この属性はどのクラスによってもサポートされず、属性の構文を拡張または変更することはできません。 独自の XAML プロセッサを実装する場合は、1 つの選択肢として、読み込み時に Freezable 要素の Freeze 属性を処理する際に、WPF XAML プロセッサの固定動作を並行して行うことができます。

Freeze 属性に true (大文字と小文字は区別されません) 以外の値を指定すると、読み込み時にエラーが発生します。 Freeze 属性に false を指定してもエラーにはなりませんが、この値は既定値なので、false を設定しても何も行われません。

参照

参照

Freezable

mc:Ignorable 属性

概念

Freezable オブジェクトの概要