DataGrid列标题,带有用于过滤的文本框

时间:2011-01-10 10:31:45

标签: visual-studio-2010 datagrid silverlight-4.0

我在使用标题标签和文本框创建DataGrid时遇到了一些问题(此时我甚至不确定这是否可行)。

这是我想做的事:
我需要动态创建一个表(列的数量可以并且将会改变,因此网格需要动态创建,不能使用XAML代码中指定的绑定或类似的)。但是,所有列都将是文本列。

因为这些是文本列,所以我想在每个标题中添加一个文本框,以便对DataGrid中的数据进行简单过滤。我不想在Silverlight页面的OTHER部分添加额外的文本字段,因为我希望尽可能保持紧凑。此外,由于列数是动态的,因此在DataGrid上方添加大量文本框也不会太好。 ;)

另外,如果可能的话,我想在每个标题中保留一个标签,以显示列的名称。

到目前为止,我已尝试将TextBox添加为Header的{​​{1}},但当我在一个非常简单的Silverlight项目中执行此操作时,整个DataGridTextBoxColumn不会出现。

请帮忙。

编辑: 我看到了这个问题的答案:placing a text box inside the silverlight data grid column header

然而,答案本身并没有给我太多的帮助(例子太短了,我对XAML也不太好),CodePlex上的代码只是在Silverlight页面上添加了额外的字段。它都没有解决动态创建DataGrid的问题。

1 个答案:

答案 0 :(得分:1)

好的,这就是我所做的解决了我的问题...... 我不得不使用Style来实现在每个列标题中都有一个额外的文本框并填写每个创建的Tag的{​​{1}}属性的功能,以便稍后查找哪个列已经改变了。