我使用网格显示直到运行时才知道的数据。我的网格的XAML非常简单,因为我以编程方式添加控件。我需要网格灵活。
我希望用户能够选择(突出显示)网格中的整行,然后能够单击按钮来处理该行中的数据。我怎么能这样做?
我无法找到与我的问题相关的任何信息。任何想法都将不胜感激。
这是XAML:
<Grid x:Name="lstAssigned" ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
</Grid>
谢谢大家!
以下是一些更多细节: 要显示的数据会有所不同。网格将有5列。第2列和第3列将是组合框。其他列是textBoxes。用户将输入数据并保存。
另一次,要显示的数据可能是:第2列和第4列中的组合框,以及第5列中的日期。由于我的数据源会有所不同,我试图以编程方式在每列中设置控件类型。
我最初使用DataTemplates开始使用DataGrid,但这会定义列和顺序。我错了吗?我想在运行时定义它们。
处理此问题的最佳方法是什么?我应该使用什么类型的控制?
我会感激你提供的任何一种箴言。
提前致谢。
答案 0 :(得分:0)
网格不支持选择行/列/单元格。它用于布局显示控件。使用别的东西,比如ListView。
答案 1 :(得分:0)
这听起来应该为每种情况使用2个单独的DataGrid
。有一些方法可以在运行时以编程方式更改列,但它更加混乱并导致可维护性降低。如果给我这个任务,我只会使用2个不同的DataGrid
s,
一个案例#1,你需要
Text Combo Combo Text Text
和另一个案例#2:
Text Combo Text Combo DateTime
听起来像一个非常简单的集合,没有重大问题,那么你可以为每种类型的Model对象创建一个包含每个DataTemplate
的正确DataGrid
。