在绑定到组合框的列表中删除项目时,WPF组合框选择消失

时间:2015-05-18 15:03:06

标签: c# wpf combobox

我有一个装配好的组合框

<ComboBox x:Name="HeadComboBox" ItemsSource="{Binding DataContext.HeadList, RelativeSource={RelativeSource FindAncestor,AncestorType= {x:Type views:FixedAssetBaseWholeUC}}}" Margin="195,78,86,0" VerticalAlignment="Top" SelectedItem="{Binding HeadItem}" DisplayMemberPath="Name" />

datacontext.HeadList将指向:

public List<FixedAssetHeadItem> HeadList
    {
        get
        {
            return _headList;
        }
        set
        {
            if (_headList != value)
            {
                _headList = value;
                RaisePropertyChanged("HeadList");
            }
        }
    }

我禁用组合框所在的UserControl并加载另一个控件来编辑头文件中的项目

            DeleteFromHeadList(1);

            FixedAssetBaseWholeViewModel fbwvm = (FixedAssetBaseWholeViewModel)Fabwuc.DataContext;
            fbwvm.HeadList = HeadList;

编辑完成后,重新启用usercontrol,仅查找选择消息。

调试显示 http://postimg.org/image/hdz4h4px3/

我该如何处理?

1 个答案:

答案 0 :(得分:0)

您不应该绑定到列表(can cause memory leak),而是绑定到ObservableCollection<>。这样,您的ComboBox应该适当更新。您的HeadItem也应该是INPC属性 - 在setter中(私有或公共,取决于您的代码)应该提高属性更改。

相关问题