Freigeben über


Gewusst wie: Bestimmen, ob ein Freezable-Objekt fixiert ist

In diesem Beispiel wird dargestellt, wie Sie bestimmen können, ob ein Freezable-Objekt fixiert ist. Wenn Sie ein fixiertes Freezable-Objekt bearbeiten möchten, wird eine InvalidOperationException ausgelöst. Sie können das Auslösen dieser Ausnahme verhindern, wenn Sie mithilfe der Eigenschaft IsFrozen des Freezable-Objekts ermitteln, ob das Objekt fixiert ist.

Beispiel

Im folgenden Beispiel wird ein SolidColorBrush fixiert und mithilfe der Eigenschaft IsFrozen ermittelt, ob es fixiert ist.


            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


            If myBrush.IsFrozen Then ' Evaluates to true.
                ' If the brush is frozen, create a clone and
                ' modify the clone.
                Dim myBrushClone As SolidColorBrush = myBrush.Clone()
                myBrushClone.Color = Colors.Red
                myButton.Background = myBrushClone
            Else
                ' If the brush is not frozen,
                ' it can be modified directly.
                myBrush.Color = Colors.Red
            End If



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

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

            myButton.Background = myBrush;


            if (myBrush.IsFrozen) // Evaluates to true.
            {
                // If the brush is frozen, create a clone and
                // modify the clone.
                SolidColorBrush myBrushClone = myBrush.Clone();
                myBrushClone.Color = Colors.Red;
                myButton.Background = myBrushClone;
            }
            else
            {
                // If the brush is not frozen,
                // it can be modified directly.
                myBrush.Color = Colors.Red;
            }


Weitere Informationen zu Freezable Objekten finden Sie unter Übersicht über Freezable-Objekte.

Siehe auch

Referenz

Freezable

IsFrozen

Konzepte

Übersicht über Freezable-Objekte

Weitere Ressourcen

Gewusst-wie-Themen zu Basiselementen