【WPF】ComboBox 实现可以编辑文字,但是不修改Item的值

真无聊还看名 2020-03-26 01:15:52
System.Windows.Forms.ComboBox


...全文
533 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
assky124 2020-03-27
  • 打赏
  • 举报
回复
修改TextBox模板,加一个按钮,点击后创建一个Dropdown之类的控件
真无聊还看名 2020-03-27
  • 打赏
  • 举报
回复
我通过重写DataGridViewComboBoxCell类 实现了类似功能
 public override void InitializeEditingControl(int rowIndex, object initialFormattedValue,
            DataGridViewCellStyle dataGridViewCellStyle)
        {
            base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);

            comboBox = (System.Windows.Forms.ComboBox)base.DataGridView.EditingControl;
            if (comboBox != null)
            {
                comboBox.DropDownStyle = ComboBoxStyle.DropDown;
                comboBox.AutoCompleteMode = AutoCompleteMode.Suggest;
                comboBox.Validating += new CancelEventHandler(comboBox_Validating);
            }
        }
真无聊还看名 2020-03-27
  • 打赏
  • 举报
回复
引用 5 楼 desperaso 的回复:

            ComboBox sel = new ComboBox();
            sel.IsEditable = true;
谢谢但是请先看一下问题,我是System.Windows.Forms.ComboBox,而且我可以通过DropDownStyle设置他的属性。现在是想不添加item的同时给DataGridViewComboBoxCell.Value附上combobox.Text的值。 我还发现了,DataGridViewComboBoxCell.Value的值必须是DataGridViewComboBoxCell.item中存在的值不然会报错。
desperaso 2020-03-27
  • 打赏
  • 举报
回复

ComboBox sel = new ComboBox();
sel.IsEditable = true;
真无聊还看名 2020-03-27
  • 打赏
  • 举报
回复
引用 3 楼 assky124 的回复:
修改TextBox模板,加一个按钮,点击后创建一个Dropdown之类的控件
可行,我试试
真无聊还看名 2020-03-26
  • 打赏
  • 举报
回复
补充一下,我是用的DataGridView中的DataGridViewComboBoxCell,现在实现了编辑的功能,但是必须在item里添加

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧