需要一个stackpanels的“网格”用作日历

时间:2011-12-15 14:24:22

标签: c# wpf stackpanel

最终,我的目标是使用小堆栈面板来表示一天中的时间间隔的网格(通过网格我的意思是行和列,但它已实现)。与我的假设不太相似(右边的简单日历类型布局):

http://blogs.msdn.com/blogfiles/outlook/WindowsLiveWriter/ScheduleViewinOutlook2010_F3B0/clip_image002%5B4%5D_thumb.jpg

我需要一种动态创建此网格的方法,并在每次触发事件时适当地命名面板(具体而言 - 一个放置事件,每个面板的放置事件将连接到我必须区分哪个面板的相同方法(即在当天的什么时间点,在什么行上)物品被丢弃了。)

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

你可能无法从这里获得完整的代码,但我可以指出你正确的方向。

您可能想要使用嵌套的ItemsControl。我过去做过类似的事情,我的日历外ItemsControlGrid,网格单元格包含内ItemsControl StackPanel {{1} }}

最重要的是让数据层正确。我使用了TaskItems个类,它们具有CalendarDayModel属性和Date列表。它还具有处理用户事件的命令,例如双击事件。

我的外ObservableCollection<TaskModel>绑定到ItemsControl,内ObservableCollection<CalendarDayModel>绑定到ItemsControl

我有一些ItemsControl here的示例,但请注意使用网格的最后一个示例。