WPF: разница между Freezable и Visual

Конечно, класс Freezable и класс Visual в WPF имеют совершенно разные цели. Мой вопрос сосредоточен больше на разнице между объектами, которые реализуют либо класс Visual, либо класс Freezable. Поскольку они оба обычно связаны с графическими проблемами, я запутался.

Итак, какова цель Freezable в виде графического представления и визуального представления?

1 ответ

Решение

Visual реализует концепцию 2D-объекта, который обычно требует визуального представления в приблизительно прямоугольной области. Фактический рендеринг Visual происходит в других классах (он не является автономным), но класс Visual предоставляет известный тип, который используется процессами рендеринга на различных уровнях. В Visual реализовано тестирование на попадание, но оно не отображает события, сообщающие о положительных результатах тестирования на попадание (они есть в UIElement). Для получения дополнительной информации см. Визуальное программирование слоя.

http://msdn.microsoft.com/en-us/library/ms753209(v=vs.110).aspx

Freezable имитирует неизменность в изменчивом объекте, предоставляя средства для генерации копий объекта, когда неизменяемый объект требуется или желателен по соображениям производительности. Тип Freezable обеспечивает общую основу для определенных графических элементов, таких как геометрия и кисти, а также анимации. Примечательно, что Freezable не является Visual; он может содержать свойства, которые становятся вложенными свойствами, когда Freezable применяется для заполнения значения свойства другого объекта, и эти дочерние свойства могут влиять на рендеринг. Для получения дополнительной информации см. Обзор замораживаемых объектов.

http://msdn.microsoft.com/en-us/library/ms750509(v=vs.110).aspx

Другие вопросы по тегам