WPF窗口程序 DataGrid控件自定义ComboBox VS2010
窗口Load中绑定DataTabel(列数不固定,需要动态生成表格)
gridUser.DataContext = m_dt;
重载AutoGeneratingColumn,代码如下: private void gridUser_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) {
List<string> sexType = new List<string> {"男", "女" };
if (e.PropertyName == "性别")
{
DataGridTemplateColumn column = new DataGridTemplateColumn();
column.Header = "性别"; DataTemplate dataTemplate = new DataTemplate();
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(ComboBox));
Binding binding = new Binding();
binding.Source = sexType;
fef.SetBinding(ComboBox.ItemsSourceProperty, binding);
Binding selectVal = new Binding();
selectVal.Source = m_dt.DefaultView;
/lectVal.Mode = BindingMode.TwoWay;
fef.SetBinding(ComboBox.SelectedValueProperty, selectVal);
fef.SetValue(ComboBox.DisplayMemberPathProperty, "性别");
//fef.SetValue(ComboBox.SelectedValueProperty, "性别");
dataTemplate.VisualTree = fef;
column.CellTemplate = dataTemplate;
e.Column = column;
}
}结果:ComboBox列显示空白,下拉列表可正常显示,怎么办,求救WPFComboBox
窗口Load中绑定DataTabel(列数不固定,需要动态生成表格)
gridUser.DataContext = m_dt;
重载AutoGeneratingColumn,代码如下: private void gridUser_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) {
List<string> sexType = new List<string> {"男", "女" };
if (e.PropertyName == "性别")
{
DataGridTemplateColumn column = new DataGridTemplateColumn();
column.Header = "性别"; DataTemplate dataTemplate = new DataTemplate();
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(ComboBox));
Binding binding = new Binding();
binding.Source = sexType;
fef.SetBinding(ComboBox.ItemsSourceProperty, binding);
Binding selectVal = new Binding();
selectVal.Source = m_dt.DefaultView;
/lectVal.Mode = BindingMode.TwoWay;
fef.SetBinding(ComboBox.SelectedValueProperty, selectVal);
fef.SetValue(ComboBox.DisplayMemberPathProperty, "性别");
//fef.SetValue(ComboBox.SelectedValueProperty, "性别");
dataTemplate.VisualTree = fef;
column.CellTemplate = dataTemplate;
e.Column = column;
}
}结果:ComboBox列显示空白,下拉列表可正常显示,怎么办,求救WPFComboBox
解决方案 »
- DirectX编的C#录音文件没有声音
- updatepanel里放个带按钮的gridview,按钮无法触发事件
- Winform中的DataGridView中绑定的ICollection中的数据改变时,如何刷新DataGridView
- c# 中的Thread 有编号吗?
- 发愁中,谁来解答一下,C#读access的OLE对象?
- 我怕我问了,有人要踢我出IT
- 在C#里面引用COM组件的问题
- WPF,属性继承问题
- 刚来 问个问题先 老大们帮忙(关于datagride的)
- 用C#解析接收到的WITS协议数据,传输方式是UDP
- IEnumerable接口和IEnumerable<T> 接口
- 在三层架构中,在逻辑层中写什么
什么意思 就是你combobox显示出来了 但是里面的显示项是空白?
完整代码贴上来 或者传到csdn上把代码
传送门http://download.csdn.net/download/pettyfly/5891941
{
List<string> sexType = new List<string> {"男", "女" };
if (e.PropertyName == "性别")
{
DataGridTemplateColumn column = new DataGridTemplateColumn();
column.Header = "性别"; DataTemplate dataTemplate = new DataTemplate();
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(ComboBox));
Binding binding = new Binding();
binding.Source = sexType;
fef.SetBinding(ComboBox.ItemsSourceProperty, binding);
Binding selectVal = new Binding("性别");
fef.SetBinding(ComboBox.SelectedValueProperty, selectVal);
dataTemplate.VisualTree = fef;
column.CellTemplate = dataTemplate;
e.Column = column;
}
}把这段替换下 貌似ok了
不知道是不是你要的效果