0
我从代码背后填充listview,为什么我要做这个场景是,我需要从后面的代码(一列,两列,三列)动态创建列。 ...)。我的代码看起来像下面如何将复选框添加到ListView中,使用WPF中的C#背后的代码
XAML代码:
<ListView ItemsSource="{Binding}" Name="lvLOv" Width="400"></ListView>
C#代码:
输出:
但我需要把复选框b在像以下这样的每一行之前(我需要在代码后面像上面的代码一样执行此操作/将复选框代码集成到上面的代码中)。我需要在标题中加入checkall选项
public TestForm() this.InitializeComponent(); Test(); }
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上的[数据绑定概述](http://msdn.microsoft.com/zh-cn/library/ms752347(v = vs.110).aspx)页面。 – Sheridan 2014-11-24 14:24:29
你必须分配'ListView.ItemTemplate'。它可能不容易在代码后面([click](http://stackoverflow.com/q/14053804/1997232),[click](http://stackoverflow.com/q/12560249/1997232))。 – Sinatr 2014-11-24 14:24:43
删除所有可怕的代码并使用正确的DataBinding和数据模板。 – 2014-11-24 14:29:17