Я думаю, что это забавный вопрос инженерного уровня.
Мне нужно спроектировать элемент управления, который отображает линейный график. То, что я хочу сделать, это использовать конструктор для добавления нескольких Pens
, которые фактически описывают данные и представление, так что в итоге получается что-то вроде Xaml:
<Chart>
<Pen Name="SalesData" Color="Green" Data="..."/>
<Pen Name="CostData" Color="Red" Data="..." />
...
</chart>
Моя первая мысль - расширить ItemsControl
для класса Chart
. Приведет ли это меня туда, куда я хочу пойти, или я должен смотреть на это с другой стороны, например, расширение Panel
?
Главное требование - иметь возможность использовать его в конструкторе без добавления кода на C #. Для того, чтобы это было возможно, ему необходимо сохранить свою структуру в древовидной модели. Другими словами, если бы я работал с этим в Expression Blend или Mobiform Aurora, я мог бы выбрать диаграмму из логического дерева или выбрать любую из отдельных ручек для редактирования их свойств.