【发布时间】:2014-11-24 14:01:22
【问题描述】:
我正在从后面的代码中填充一个列表视图,为什么我要这样做,我需要从后面的代码中动态创建列(一列,二,三....)。我的代码如下所示
XAML 代码:
<ListView ItemsSource="{Binding}" Name="lvLOv" Width="400"></ListView>
C# 代码:
输出:
但是我需要在每一行之前放置复选框,如下所示(我需要在上面的代码后面的代码中执行此操作/将复选框代码集成到上面的代码中)。我还需要在标题中放置 checkall 选项
公共TestForm() { this.InitializeComponent(); 测试(); }
public void Test()
{
try
{
DataTable dt = new DataTable();
//Create Columns
dt.Columns.Add("Initial", typeof(string));
dt.Columns.Add("Name", typeof(string));
//Adding Rows
for (int i = 0; i < 3; i++)
{
dt.Rows.Add("K" + i, "David" + i);
}
GridView gv = new GridView();
// Create the GridView Columns
foreach (DataColumn item in dt.Columns)
{
GridViewColumn gvc = new GridViewColumn();
gvc.DisplayMemberBinding = new Binding(item.ColumnName);
gvc.Header = item.ColumnName;
gvc.Width = Double.NaN;
gv.Columns.Add(gvc);
}
lvLOv.View = gv;
//Binding to Listview
lvLOv.DataContext = dt.DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
预期输出:
请告诉我如何实现此功能
【问题讨论】:
-
这不是如何编写 WPF。使用 WPF 时,我们不以编程方式添加 UI 元素。相反,我们使用数据绑定和操作数据元素。有关详细信息,请参阅 MSDN 上的 Data Binding Overview 页面。
-
删除所有可怕的代码并使用适当的数据绑定和数据模板。
-
感谢您的建议,我知道,但我得到的数据不同(列数不同)。我知道运行时的列,那么如何将这些列绑定到列表视图
-
为什么这个社区如此粗糙?