次の方法で共有


方法: Freezable を読み取り専用にする

この例では、Freeze メソッドを呼び出して Freezable を読み取り専用にする方法を示します。

オブジェクトについて次のいずれかの条件が true の場合、Freezable オブジェクトを凍結することはできません。

  • アニメーション化されたプロパティまたはデータ バインドされたプロパティがあります。

  • 動的リソースによって設定されるプロパティがあります。 動的リソースの詳細については、XAML リソースに関する記事を参照してください。

  • 凍結できない Freezable サブオブジェクトが含まれています。

Freezable オブジェクトに対して、これらの条件が false であり、このオブジェクトを変更する予定がない場合は、パフォーマンスを向上させるために凍結させることを検討してください。

次の例では、Freezable オブジェクトの型である SolidColorBrush を凍結します。

Button myButton = new Button();
SolidColorBrush myBrush = new SolidColorBrush(Colors.Yellow);

if (myBrush.CanFreeze)
{
    // Makes the brush unmodifiable.
    myBrush.Freeze();
}

myButton.Background = myBrush;
Dim myButton As New Button()
Dim myBrush As New SolidColorBrush(Colors.Yellow)

If myBrush.CanFreeze Then
    ' Makes the brush unmodifiable.
    myBrush.Freeze()
End If

myButton.Background = myBrush

Freezable オブジェクトの詳細については、「Freezable オブジェクトの概要」を参照してください。

関連項目