我有一个listview,我想在每个gridview列单元格中添加一个文本框,这样我就可以在其中键入数据,然后获取该数据。
我正在创建一个datatemplate并将其传递给GridViewColumn的单元格模板,但是当我查看listview时,我无法向该单元格添加任何内容。看起来甚至没有创建文本框。
GridViewColumn conceptColumn = new GridViewColumn();
conceptColumn.Header = conceptName;
conceptColumn.CellTemplate = this.GetDataTemplate();
this.TestModeler.Columns.Add(conceptColumn);
conceptColumn.DisplayMemberBinding = new Binding(conceptName);
private DataTemplate GetDataTemplate()
{
DataTemplate dt = new DataTemplate(typeof(TextBox));
FrameworkElementFactory txtElement = new FrameworkElementFactory(typeof(TextBox));
dt.VisualTree = txtElement;
Binding bind = new Binding();
bind.Path = new PropertyPath("Text");
bind.Mode = BindingMode.TwoWay;
txtElement.SetBinding(TextBox.TextProperty, bind);
txtElement.SetValue(TextBox.TextProperty, "test");
return dt;
}
答案 0 :(得分:0)
请查看MSDN上的ListView Class页面,您可以在其中找到XAML示例以及有关如何使用WPF ListView
执行各种操作的大量链接。
特别感兴趣的是,请查看那里的How to: Use Templates to Style a ListView That Uses GridView页面,其中说明了您尝试做的事情(但在XAML中)以及示例。
MSDN应始终成为您首选的地方,因为完整等待阅读的信息。