【发布时间】:2014-04-15 19:08:25
【问题描述】:
我不确定我在这里缺少什么,但我无法让复选框正确绑定到列表。列表的其余属性绑定得很好,但复选框有问题。这是我所拥有的:
在用作列表中每个对象的模板的类中:
Property Process As New CheckBox
在 MainWindow_Loaded 事件中我有:
Dim ProcessCol As new DataGridCheckBoxColumn
ProcessCol.Header = "P?"
ProcessCol.IsReadOnly = False
...
InputGrid.ItemsSource = InputData 'Which is a list of my Order Allocation objects which contains the checkbox property
...
Dim ProcessBinding As New Binding("Process")
ProcessBinding.Mode = BindingMode.TwoWay
ProcessCol.Binding = ProcessBinding
...
InputGrid.Columns.Add(ProcessCol)
当我尝试填充此集合并查看项目时,我得到复选框 = 没有。我不确定我在这里错过了什么......我知道我不能离得太远......
编辑:我将属性更改为“new CheckBox”,现在我在列表项中获得了一个初始化的复选框对象,为“System.Windows.Controls.CheckBox Content: IsChecked:False,在这种情况下应该是真的。所以也许更近了一步,但仍然没有。
【问题讨论】:
-
有什么理由不使用 XAML?
-
我对 XML 还不太熟悉。我知道它可以使用 XML 来完成,但是我在使用 XML 获得我正在寻找的确切效果时遇到了麻烦。目前我已经设置了它,以便用户可以手动将数据输入数据网格或将工作簿放在表单上以填充它。我还将它设置为从电子邮件中导入数据,但他们要求一个复选框列来选择要处理的项目,这是我唯一遇到问题的部分。如果你有一个如何使用 XML 来做到这一点的例子,我就是游戏。
标签: wpf vb.net checkbox binding datagrid