Как создать элемент управления, отобранный владельцем в silverlight 4? - PullRequest
1 голос
/ 16 апреля 2011

Не удается найти хорошее объяснение того, как создать простой элемент управления, отобранный владельцем в Silverlight.

Допустим, я хочу создать элемент управления "Арка" или "Линия".

Каким должен быть мой базовый класс?

Как получить доступ к контексту рисования, чтобы мой код мог отображать графику?

Я вижу, что FrameworkElement в Silverlight здесь не сильно помогает.Каковы лучшие практики?

Спасибо

Обновление: причина, по которой я спрашиваю, очень проста - я строю виртуальную (неограниченную) поверхность, которую можно прокручивать в любом направлении.это должно показать визуализировать много данных.Что-то вроде построения диаграмм.Я планирую начать с чего-то очень простого, похожего на Familiy.Show (http://familyshow.codeplex.com/).). Эта реализация диаграммы является исключительно WPF и отображается исключительно с помощью парадигмы OnRender (DrawingContext).

Спасибо

1 Ответ

1 голос
/ 17 апреля 2011

Концепция элемента управления, берущего на себя ответственность за рисование пикселей на поверхности принадлежащего ему прямоугольника, чужда Silverlight.

Поскольку вы включили термин "передовой опыт", я собираюсь эвристически экстраполировать, что вы хотите создать пользовательские элементы управления, которые генерируют их пользовательский интерфейс полностью из примитивных операций.

Создание нового "Пользовательского шаблона"Контроль».В ControlTemplate, добавленном к «themes / generic.xaml», теперь вы можете включить Xaml, который конкретно описывает необходимый вам пользовательский интерфейс.

Silverlight поддерживает элементы, способные описать основные компоненты, производные от Shape, такие какElipse (который также может нарисовать дугу), Line, Rectangle, Polygon и Polyline.Path также может использоваться для описания более сложных фигур, которые могут включать в себя Bezier сегменты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...