【问题标题】:C# WPF create dynamic textbox for each row of ListViewC# WPF 为 ListView 的每一行创建动态文本框
【发布时间】:2018-01-04 06:15:42
【问题描述】:

我想知道,如何为 ListView 的每一行创建动态文本框。我正在为我的 WPF 应用程序使用 MVVM。如果您有任何问题,请问我。

假设这是我的 ListView:

我希望有一个这样的 ListView 和 TextBox:

ListView 右侧的单元格是我的文本框。现在我的问题是:我想为我的 ListView 的每一行动态创建两个 TextBox。我是 WPF 新手,我真的很想知道如何使用 ListView 中的行范围创建动态文本框。

我希望得到帮助,向南卡祖问好。

【问题讨论】:

  • TextBoxes 中应该包含哪些内容?
  • 您的数据模型看起来如何?你有带有属性或动态数据的类吗?
  • 只是一个字符串,我想将两个文本框都用于字符串。后来我需要这个字符串来做一个比较。但您只需要知道,我将使用 TextBoxes 作为字符串。我正在使用带有属性的类。
  • 为什么文本框不能成为ListView 的一部分?意味着像两个额外的列?
  • 你为什么不使用 DataGrid 呢?

标签: c# wpf listview dynamic textbox


【解决方案1】:

我希望这会有所帮助。这必须用于 VB.Net 部分。也许你可以把它改成 C#

For x = 0 To 4
    Dim GridView1 As New GridViewColumn()

     Dim datatemple1 As New DataTemplate()
     Dim Textbox1 = New FrameworkElementFactory(GetType(TextBox))
     datatemple1.VisualTree = Textbox1

     GridView1.Header = "Employee No." & x
     GridView1.Width = 100
     GridView1.CellTemplate = datatemple1

     UGridview1.Columns.Add(GridView1)
     ListView1.Items.Add(datatemple1)

 Next
 ListView1.View = UGridview1

XAML 部分必须是这样的:

<ListView x:Name="ListView1">
    <ListView.View>
        <GridView x:Name="UGridview1" >
        </GridView>
    </ListView.View>
</ListView>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 2012-08-20
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多