我是c#
的新手,我现在正在学习如何根据某些表单操作触发事件。
这是观点的一部分:
private void comboGoodsName_TextChanged(object sender, EventArgs e)
{
controller.selectName(comboGoodsName.Text);
}
public void nameChanged(object sender, MeasurementEventArgs e)
{
comboGoodsName.TextChanged -= comboGoodsName_TextChanged;
comboGoodsName.Text = e.value;
comboGoodsName.TextChanged += comboGoodsName_TextChanged;
}
这是控制器的一部分:
public void selectName(string name)
{
model.Name = name.Split('|')[0].Trim();
if (name.Contains(" | "))
{
string code = name.Split('|')[1].Trim();
model.NameCode = code;
}
}
情景如下:
我希望ComboBox
中包含一些项目(无关紧要的是什么)。项目是名称和代码的组合,格式如下:NAME | CODE
。当我在ComboBox
中输入一些文字(输入)时,comboGoodsName_TextChanged
会被触发,而selectName
会调用设置模型属性的nameChanged
,从而引发{{{}} {1}}。这可以正常工作(将NAME
放在ComboBox
和CODE
到TextBox
- 未显示为不相关)。从ComboBox
下拉列表中选择项目时出现问题。当我选择项目时,我会看到NAME
,而不是在ComboBox
中显示NAME | CODE
。
编辑:在模型中,属性设置正确,我通过打印它的值来确认。因此,问题仅与在ComboBox
中显示正确的值有关。
答案 0 :(得分:1)
试试这个:
targetEntity