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

解决方案 »

  1.   

    ComboBox列显示空白,下拉列表可正常显示
    什么意思 就是你combobox显示出来了 但是里面的显示项是空白?
    完整代码贴上来 或者传到csdn上把代码
      

  2.   

    代码已上传csdn
    传送门http://download.csdn.net/download/pettyfly/5891941
      

  3.   

     private void dataGrid1_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("性别");
                    fef.SetBinding(ComboBox.SelectedValueProperty, selectVal);
                    dataTemplate.VisualTree = fef;
                    column.CellTemplate = dataTemplate;
                    e.Column = column;
                }
            }把这段替换下 貌似ok了 
    不知道是不是你要的效果