你会建议在WPF中构建这样的控件吗?

Kar*_*gha 9 c# wpf custom-controls wpf-controls

我需要构建一个看起来与此类似的WPF控件: alt text http://img251.imageshack.us/img251/6857/circle.png

每种颜色应该可点击和调整大小(或可选择).

此控件将用于设置一天中的小时模式.我已经考虑过将24个按钮排成一个圆圈:

alt text http://img684.imageshack.us/img684/2184/buttonsk.png

另一个想法是绘制一个完整的圆并计算用户鼠标点击选择的位置,并绘制几个圆圈来表示数据.

关于如何构建这个的任何其他/更好的想法?(请原谅我糟糕的画作).

Joh*_*wen 2

听起来您想要一个自定义的列表框(多个可选择/可单击的项目)。对于布局,您需要使用某种类型的 RadialPanel 作为 ItemsPanel。您可能还需要更改 ItemContainerStyle 以使 ListBoxItems 看起来像上面的内容,可能需要一些触发器来根据选择状态更改颜色。根据您需要的项目行为,您可能需要创建自定义 ListBox/ListBoxItem 派生的自定义控件,但在很多情况下,内置行为会给您带来很大帮助。要将其作为单个单元重用,您可以将 ListBox 及其 24 小时项目和自定义模板包装在 UserControl 中,并以您需要的任何形式将选择数据公开为依赖属性(例如表示所选时间的数据项目的 IEnumerable) )。

这对您入门有帮助吗?