Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用WPF创建时间表?_C#_Wpf_User Interface - Fatal编程技术网

C# 使用WPF创建时间表?

C# 使用WPF创建时间表?,c#,wpf,user-interface,C#,Wpf,User Interface,我们被指派创建名为虚拟教室管理系统的WPF C#应用程序。在这个应用程序中有用户s(教授s、助手s和管理员s)。任何用户都可以通过创建预约预订/安排教室,这将通过从该用户所属的机构中选择任何教室并说明预约的开始和结束日期来完成。在这个应用程序的众多功能中,有一个我很想听听如何执行:) 女王陛下,此功能是日程概述。你可以看到我可爱的下面,有着无与伦比的绘画能力:) 用户应该能够输入开始日期和结束日期,他/她希望看到为机构(他/她所属)生成的时间表 我需要用约会的实际时间来“调整”时间表 这是我的第

我们被指派创建名为
虚拟教室管理系统
的WPF C#应用程序。在这个应用程序中有
用户
s(
教授
s、
助手
s和
管理员
s)。任何用户都可以通过创建
预约
预订/安排教室,这将通过从该用户所属的机构中选择任何教室并说明预约的开始和结束日期来完成。在这个应用程序的众多功能中,有一个我很想听听如何执行:)

女王陛下,此功能是日程概述。你可以看到我可爱的下面,有着无与伦比的绘画能力:)

用户应该能够输入开始日期和结束日期,他/她希望看到为机构(他/她所属)生成的时间表

我需要用约会的实际时间来“调整”时间表

这是我的第一个WPF项目,我在大学二年级。我对GUI应用程序的了解不多,但我可以而且会学习


那么,如果有人能建议我从哪里开始?探索什么?如何为此设置布局?在哪些组件上进行中继?数据网格,画布?如何组合它们?希望我不会因为问这个问题而名声不好:)或者如果这太难了,还有什么其他的想法吗?

我假设你不能使用商业控件:)。老实说,恕我冒犯,您正在询问Outlook Timeline控件,这是一个非常复杂的控件,需要正确操作,但我将为您指出正确的方向,并假设您只需要基本功能

例如,在水平方向上,第一行没有3个矩形,只有一个可以延伸整个宽度,为了简单起见,我们将其称为0到99

要产生3个矩形(或任意多个)的幻觉,可以使用带有“硬过渡”的水平线RGRadientBrush

假设你想要一个从0到10的蓝色矩形和一个从15到20的绿色矩形,你可以这样做:

GradientStop Offset=0, Color=Blue
GradientStop Offset=0.10 Color=Blue   (0.10 = 10/100)
GradientStop Offset=0.10 Color=Transparent         (the transparent will give the illusion of a gap from 10 to 15)
GradientStop Offset=0.15 Color=Transparent
GradientStop Offset=0.15 Color=Green
GradientStop Offset=0.20 Color=Green
请注意双偏移,这是使用LinearGradientBrush获得硬中断的技巧。即,您有.10=蓝色和.10=透明。这将给你一个从蓝色到透明的艰难突破

所以基本上,你要计算整个矩形的宽度,计算你想要的矩形的百分比,然后建立你的渐变停止集合,如我所示


有意义吗?

关于百分比,我也有同样的想法,将其作为设置矩形的一种方法。我不知道我是否说得够清楚,时间表需要与每次约会的长度成比例,也就是说,如果一次约会是17小时,而另一次约会是16小时,那么第一次约会会稍微长一点,这取决于时间表有多大。我不知道如何将这两件事联系起来……是的,不冒犯你,谢谢你的意见。该死,这件事对WPF verision来说就像1000美元:)这是要安装的某种库吗?有没有类似的东西是免费的:我会看看telerik而不是syncfusion,问他们学生折扣的问题。如果他们仍然这样做,你应该下载他们的试用版。取决于项目的性质,这可能足以满足您的目的。@MiljanPuletic我解释了如何构建“学生”版本的项目。什么问题?如果rect 1为10,则使渐变停止为0到0.10。Rect 2是15,所以你将它设置为0.10到0.25。@SledgeHammer没有问题,试图设置工作时间线,如果你指的是这个,我没有为你的帖子打-1。这是给你的一个大任务。如果你从头开始创建它,它不是初学者的任务。这里可能有很多东西需要学习。