如何在WPF Grid控件中选择一行?

我使用Grid来显示直到运行时才知道的数据。 我的Grid的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列将是组合框。 其他列是文本框。 用户将输入数据并保存。

另一次,要显示的数据可能是:列2和列4中的组合框,列5中的日期。由于我的数据源会有所不同,因此我试图以编程方式在每列中设置控件类型。

我最初使用DataTemplates开始使用DataGrid,但是这会定义列和顺序。 我错了吗? 我想在运行时定义它们。

处理这个问题的最佳方法是什么? 我应该使用什么类型的控制?

我会赞赏你可以提供的任何形式的侮辱。

提前致谢。


这听起来像你应该为每个案例使用2个独立的DataGrid 。 有许多方法可以在运行时以编程方式更改列,但是它更加混乱并导致可维护性下降。 如果我得到这个任务,我会简单地使用2个不同的DataGrid

一个案例#1,你需要的地方

Text      Combo       Combo       Text      Text

另一个案例#2:

Text      Combo       Text        Combo     DateTime

听起来像一个非常简单的集合,在那里没有重大的头痛,那么你可以创建一个适当的DataTemplate包含每个Model对象的每个DataGrid


网格不支持选择行/列/单元格。 它用于布局显示控件。 使用其他的东西,比如ListView。

链接地址: http://www.djcxy.com/p/64729.html

上一篇: How do I select a row in a WPF Grid control?

下一篇: wpf datagrid render performance (custom grid control)