wpf - 我从哪里开始设计包含子对象的自定义控件?

标签 wpf xaml

我认为这是一个有趣的工程级问题。

我需要设计一个显示折线图的控件。我想要能够做的是使用设计师添加多个Pens它实际上描述了数据和演示文稿,以便它以 Xaml 的形式结束:

<Chart>
  <Pen Name="SalesData" Color="Green" Data="..."/>
  <Pen Name="CostData" Color="Red" Data="..." />
  ...
</chart>

我的第一个想法是扩展 ItemsControlChart类(class)。这会带我去我想去的地方还是我应该从不同的方向看它,例如延伸 Panel ?

主要要求是能够在设计器中使用它而无需添加任何 C# 代码。为了使其可行,它需要在树 View 模型中保留其结构。换句话说,如果我在 Expression Blend 或 Mobiform Aurora 中使用它,我将能够从逻辑树中选择图表或选择任何单个笔来编辑它们的属性。

最佳答案

我会用 Chart 作为 ItemsControl,它的 ItemsPanel 是一个 Canvas(对于一些轻微的使用,我会用 Grid 作为 ItemsPanel)。每个 Pen 都是从 PolyLine 类派生的 CustomControl。这有任何意义吗?

关于wpf - 我从哪里开始设计包含子对象的自定义控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562/

相关文章:

c# - 无论鼠标位置如何,都使 WPF 滚动查看器滚动

c# - WPF-使按钮的凹陷效果变慢

c# - 如何在 Windows 应用商店应用程序中将内容剪辑为椭圆

c# - 将按钮放在右下角的 XAML 代码

c# - WPF 自定义控件 : DependencyProperty of Collection type

wpf - 自定义 WPF TreeView

xaml - Xamarin.Forms:更改TabbedPage选项卡中的图标和文本大小

c# - 标记扩展 : Converting a simple property to DependencyProperty

wpf - 如何将文本 block /文本框的高度设置为3行?

wpf - 如何使用 TestStack.White.UIItems 测试 ItemsControl