Linq to sql 绑定到FK的组合框中未显示Linq到sql空值

Linq to sql 绑定到FK的组合框中未显示Linq到sql空值,linq-to-sql,combobox,foreign-key-relationship,selecteditem,Linq To Sql,Combobox,Foreign Key Relationship,Selecteditem,我有一个绑定到FK实体(对象,而不是ID字段)的组合框。组合框中填充了Linq-query-ToList()。DisplayMember已设置,ValueMember为空。属性SelectedItem用于绑定。这一切都可以正常工作,除非FK为空/null,否则会选中组合框中的第一项,而如果我签出Linq对象,则可以看到FK为null。在本例中,我希望组合框的selecteditem也为null。我错过什么了吗 这似乎有效: 取自 “我已经测试了此解决方案,但如果您绑定到自定义对象并将对象的属性(

我有一个绑定到FK实体(对象,而不是ID字段)的组合框。组合框中填充了Linq-query-ToList()。DisplayMember已设置,ValueMember为空。属性SelectedItem用于绑定。这一切都可以正常工作,除非FK为空/null,否则会选中组合框中的第一项,而如果我签出Linq对象,则可以看到FK为null。在本例中,我希望组合框的selecteditem也为null。我错过什么了吗

这似乎有效:

取自

“我已经测试了此解决方案,但如果您绑定到自定义对象并将对象的属性(绑定到combobox)设置为空值,这将不会有帮助。注意:我正在绑定SelectedItem属性

我的解决方案是派生combobox并强制SelectedItem正确操作”

class MyComboBox : ComboBox
{
    public new object SelectedItem
    {
        get
        {
            return base.SelectedItem;
        }
        set
        {
            base.SelectedItem = value;
            if (value == null || value == System.DBNull.Value)
            {
                this.SelectedIndex = -1;
            }
        }
    }
}