如何在silverlight 4中创建一个ownerdrawn控件?

时间:2011-04-16 13:09:47

标签: wpf silverlight silverlight-4.0 wpf-controls controls

无法找到有关如何在Silverlight中创建简单的ownerdrawn控件的详细说明。

假设我要创建一个“Arch”或“Line”控件。

我的基类应该是什么?

如何访问绘图上下文,以便我的代码可以渲染图形?

我看到Silverlight中的FrameworkElement在这里没有提供太多帮助。什么是最佳实践?

由于

更新:我问这个问题的原因非常简单 - 我正在构建一个虚拟(无限制)表面,可以向任何方向滚动,以显示可视化的大量数据。像图表一样的东西。我打算从一个非常简单的东西开始,类似于Familiy.Show(http://familyshow.codeplex.com/)。该图表实现仅仅是WPF,仅通过OnRender(DrawingContext)范例呈现。

由于

1 个答案:

答案 0 :(得分:1)

控件负责在其拥有的矩形表面上绘制像素的概念与Silverlight不同。

由于您包含术语“最佳实践”,我将启发式地推断您想要构建完全基于原始操作生成其UI的自定义控件。

创建一个新的“自定义模板控件”。在添加到“themes / generic.xaml”的ControlTemplate中,您现在可以包含专门描述所需UI的Xaml。

Silverlight支持能够描述源自Shape的基本组件的元素,例如Elipse(也可以绘制弧线),LineRectangle,{{ 1}}和Polygon。还可以使用Polyline描述可能包含Path段的更复杂形状。