Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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# 如何动态添加行和合并单元格_C#_Wpf - Fatal编程技术网

C# 如何动态添加行和合并单元格

C# 如何动态添加行和合并单元格,c#,wpf,C#,Wpf,我需要创建一个可以动态添加行和合并行的表。我搜索了很多,找不到任何适合我的解决方案:(这是它应该如何工作的: 您对如何创建它有什么想法吗?它还应该有对它进行排序的选项。选项1: +列/rowsdefinitions+网格.RowSpan+网格.ColumnSpan++背景+每个文本块的正确数据绑定(或硬连线数据..)。这是完全基本的布局。如果数据源的行数可变(猫、狗、鼠标、ID等)然后你还需要相当多的代码来生成它。一般来说,这不是一个好主意 备选案文2: 适当的视图模型+标题的简单网格,每个列

我需要创建一个可以动态添加行和合并行的表。我搜索了很多,找不到任何适合我的解决方案:(这是它应该如何工作的:

您对如何创建它有什么想法吗?它还应该有对它进行排序的选项。

选项1:

+列/rowsdefinitions+
网格.RowSpan
+
网格.ColumnSpan
+
+
背景
+每个文本块的正确数据绑定(或硬连线数据..)。这是完全基本的布局。如果数据源的行数可变(猫、狗、鼠标、ID等)然后你还需要相当多的代码来生成它。一般来说,这不是一个好主意

备选案文2:

适当的视图模型+标题的简单网格,每个列的共享子组+
项控件
(垂直)+自定义
项模板
(项=猫狗鼠标、Z和内部数据),基于
网格
,使用公共
共享子组
,以便每个项中的
(猫、鼠标..)宽度相同。该模板的列需要包含单个
TextBlock
(带有动物类型或“Z”),或另一个内部
ItemsControl
(垂直),带有自定义
itemstemplate
(ID,X,Y)。此内部模板也应基于网格,并使用SharedSizeGroup,以便列与标题对齐。行probablu可以具有预定的恒定高度

此选项允许您通过简单地将行添加到viewmodel中的集合来添加行,并且您不必合并任何内容,因为外部ItemTemplate将Cat/Z指定为高度更大的简单单个“单元格”,而内部ItemsTemplate将大单元格拆分为更多嵌入行

备选案文3:

或者只拿一些商业(Infragistics、DevXpress、Telerik等)或一些免费的“GridView/DataTable”(名称不同)或类似的组件来说。它们通常允许“分组”和/或“摘要”,所以你至少应该能够用较小的“细节”制作大的“Cat”单元我不知道Z如何-它取决于具体的gridview组件


例如,玩一下DevX Grid的这些演示(警告:商业!)来获得这种感觉。特别是看“分组”和“主细节”。后一个类似于选项2:“主”是外部项模板,“细节”是内部项模板。您可以以任何方式设置内部项模板的样式,因此它可以是“表视图”就像在那个演示中一样,或者它可以无缝模拟成为表格的一部分。

谢谢您的回答!我将尝试使用第一个选项,因为第二个选项对我来说可能太难了。我刚刚开始学习WPF。如果有人有其他解决方案,请发布它!:)