Gewusst wie: Bestimmen, ob ein Freezable-Objekt fixiert ist
In diesem Beispiel wird gezeigt, wie Sie ermitteln, ob ein Freezable-Objekt fixiert ist. Wenn Sie versuchen, ein fixiertes Freezable-Objekt zu ändern, wird InvalidOperationException ausgelöst. Um das Auslösen dieser Ausnahme zu vermeiden, verwenden Sie die IsFrozen-Eigenschaft des Freezable-Objekts, um festzustellen, ob es fixiert ist.
Beispiel
Im folgenden Beispiel wird ein SolidColorBrush fixiert und dann mit der IsFrozen-Eigenschaft getestet, ob er fixiert ist.
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;
}
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
Weitere Informationen zu Freezable-Objekten finden Sie in der Übersicht über Freezable-Objekte.
Weitere Informationen
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
.NET Desktop feedback