无法找到有关如何在Silverlight中创建简单的ownerdrawn控件的详细说明。
假设我要创建一个“Arch”或“Line”控件。
我的基类应该是什么?
如何访问绘图上下文,以便我的代码可以渲染图形?
我看到Silverlight中的FrameworkElement在这里没有提供太多帮助。什么是最佳实践?
由于
更新:我问这个问题的原因非常简单 - 我正在构建一个虚拟(无限制)表面,可以向任何方向滚动,以显示可视化的大量数据。像图表一样的东西。我打算从一个非常简单的东西开始,类似于Familiy.Show(http://familyshow.codeplex.com/)。该图表实现仅仅是WPF,仅通过OnRender(DrawingContext)范例呈现。
由于
答案 0 :(得分:1)
控件负责在其拥有的矩形表面上绘制像素的概念与Silverlight不同。
由于您包含术语“最佳实践”,我将启发式地推断您想要构建完全基于原始操作生成其UI的自定义控件。
创建一个新的“自定义模板控件”。在添加到“themes / generic.xaml”的ControlTemplate
中,您现在可以包含专门描述所需UI的Xaml。
Silverlight支持能够描述源自Shape
的基本组件的元素,例如Elipse
(也可以绘制弧线),Line
,Rectangle
,{{ 1}}和Polygon
。还可以使用Polyline
描述可能包含Path
段的更复杂形状。