Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Freezable.IsFrozen-Eigenschaft

Ruft einen Wert ab, der angibt, ob das Objekt gegenwärtig änderbar ist.

Namespace:  System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)
public bool IsFrozen { get; }

Eigenschaftswert

Typ: System.Boolean
true, wenn das Objekt fixiert ist und nicht geändert werden kann, false, wenn das Objekt geändert werden kann.

Der Versuch, ein Objekt zu ändern, wenn seine IsFrozen-Eigenschaft true lautet, löst eine InvalidOperationException aus.

Diese Eigenschaft aus der Objektmodellperspektive schreibgeschützt. In einigen Dokumentationen zum Freezable-Verhalten wird möglicherweise die Formulierung "legt IsFrozen auf true fest" o. ä. beim Beschreiben des Verhaltens anderer Methoden von Freezable verwendet. Dieses Verhalten tritt jedoch intern in den Klasseninstanzen auf, wenn Methoden der Instanz die privaten Variablen in der abstrakten Klasse ändern. Zum Festlegen des Werts für diese Eigenschaft sollten Sie Freeze aufrufen. Dies ist im Grunde ein einmaliger Vorgang zum Ändern der IsFrozen-Eigenschaft vom anfänglichen Standardzustand false in den Zustand true. Es gibt keine Möglichkeit, um den Wert auf false zurückzusetzen. Stattdessen könnten Sie jede vom Original erstellte tiefe Kopie ändern (siehe Clone-Methode). Dies ist entwurfsbedingt. So sollten sich alle abgeleiteten Klassen verhalten, wenn sie in Fällen angewendet werden, in denen das Freezable-Muster nützlich ist.

This example shows how to determine whether a Freezable object is frozen. If you try to modify a frozen Freezable object, it throws an InvalidOperationException. To avoid throwing this exception, use the IsFrozen property of the Freezable object to determine whether it is frozen.

The following example freezes a SolidColorBrush and then tests it by using the IsFrozen property to determine whether it is frozen.



            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;
            }




For more information about Freezable objects, see the Übersicht über Freezable-Objekte.

.NET Framework

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?