Практическое руководство. Получение копии с возможностью записи объекта Freezable только для чтения
В этом примере показано, как использовать Clone метод, чтобы создать копию только для чтения Freezable.
После Freezable объект помечен как доступный только для чтения («замороженным»), его нельзя изменять. Тем не менее, можно использовать Clone метод для создания Модифицируемая копия зафиксированного объекта.
Пример
В следующем примере создается Модифицируемая копия зафиксированного SolidColorBrush объекта.
Button myButton = new Button();
SolidColorBrush myBrush = new SolidColorBrush(Colors.Yellow);
// Freezing a Freezable before it provides
// performance improvements if you don't
// intend on modifying it.
if (myBrush.CanFreeze)
{
// Makes the brush unmodifiable.
myBrush.Freeze();
}
myButton.Background = myBrush;
// If you need to modify a frozen brush,
// the Clone method can be used to
// create a modifiable copy.
SolidColorBrush myBrushClone = myBrush.Clone();
// Changing myBrushClone does not change
// the color of myButton, because its
// background is still set by myBrush.
myBrushClone.Color = Colors.Red;
// Replacing myBrush with myBrushClone
// makes the button change to red.
myButton.Background = myBrushClone;
Дополнительные сведения о Freezable объектов, см. в разделе Freezable Общие сведения об объектах.