0

我正在使用 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 开始的,但这将定义列和顺序。我弄错了吗?我想在运行时定义它们。

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

我会欣赏你能提供的任何一种爱。

提前致谢。

4

2 回答 2

0

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

于 2013-04-07T13:37:55.470 回答
0

听起来您应该DataGrid为每种情况使用 2 个单独的 s 。有一些方法可以在运行时以编程方式更改列,但它更混乱并且导致更少的可维护性。如果给我这个任务,我会简单地使用 2 个不同DataGrid的 s,

一个用于案例#1,您需要的地方

Text      Combo       Combo       Text      Text

另一个用于案例 #2:

Text      Combo       Text        Combo     DateTime

听起来像是一个非常简单的集合,没有什么大问题,那么您可以为每种类型的 Model 对象创建一个DataTemplate包含每个 this的正确集合。DataGrid

于 2013-04-07T22:11:58.320 回答