当绑定到组合框的列表中的项被删除时,WPF组合框选择将消失
本文关键字:组合 WPF 选择 删除 消失 绑定 列表 | 更新日期: 2023-09-27 17:49:31
我有一个组合框设置为
<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;
当编辑完成后,重新启用用户控件,只查找选择消失器。
调试显示http://postimg.org/image/hdz4h4px3/
我该如何处理这个问题?
您不应该绑定到List(可能导致内存泄漏),而应该绑定到ObservableCollection<>
。这样,您的ComboBox应该适当地更新。此外,您的HeadItem
应该是INPC属性设置器(私有或公共,取决于您的代码)应该引发属性更改。