0

我有一个列表视图,我想在每个 gridview 列单元格中添加一个文本框,以便我可以在其中输入数据,然后获取该数据。

我正在创建一个数据模板并将其传递给 GridViewColumn 的单元格模板,但是当我查看列表视图时,我无法向单元格添加任何内容。看起来甚至没有创建文本框。

            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;
    }
4

1 回答 1

0

请查看 MSDN 上的ListView 类页面,您可以在其中找到 XAML 示例以及有关如何使用 WPF 执行各种操作的大量链接ListView

您特别感兴趣,请查看How to: Use Templates to Style a ListView That Uses GridView页面,该页面通过示例解释了您正在尝试做什么(但在 XAML 中)。

MSDN 应该始终是您首先查看的地方,因为它充满了等待阅读的信息。

于 2013-10-11T12:32:42.863 回答