Практическое руководство. Получение копии для записи объекта Freezable только для чтения
Обновлен: Ноябрь 2007
В этом примере демонстрируется использование метода 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.
См. также
Основные понятия
Общие сведения об объектах класса Freezable