Рисование элементов управления Visual в прямоугольник - PullRequest
0 голосов
/ 08 августа 2011

В моем приложении есть пользовательский составной элемент управления WPF (AvalonEdit), который я хотел бы анимировать всякий раз, когда изменяется его свойство Text. Я собираюсь сделать следующее:

  1. Создайте копию визуального представления элемента управления перед изменением текста и нарисуйте его поверх прямоугольника.
  2. Исчезните вышеуказанный прямоугольник, обновите свойство текста и добавьте элемент управления, используя классы DoubleAnimation и Storyboard.

Я понял # 2, но понятия не имею, как мне достичь # 1. Любая помощь будет оценена.

1 Ответ

1 голос
/ 08 августа 2011

Для (1) на ум приходит пара подходов:

  1. VisualBrush - Визуальная кисть - это кисть, которая определяется сложным элементом пользовательского интерфейса. Другими словами, вы можете создать визуальное дерево элементов и использовать его для создания вашей кисти. Смотрите учебник здесь . Я думаю, что в вашем случае вам придется определять свой пользовательский интерфейс дважды, то есть иметь экземпляр элемента управления AvalonEdit в качестве «визуального» для вас VisualBrush, поэтому, возможно, не идеальный

  2. WriteableBitmap - растровое изображение с возможностью записи позволяет вам копировать часть вашего пользовательского интерфейса в растровое изображение, где вы можете манипулировать данными пикселя. Хотя вам не нужны манипуляции на уровне пикселей, это все же удобный механизм для клонирования вашего пользовательского интерфейса. Смотрите этот урок, который я написал здесь .

...