我的 WPF 应用程序中有一个自定义组合框,并且在初始启动后更新我的项源时,组合框未更新。itemsSource 是一个自定义的可观察词典。我已经在我的属性上实现了INotifyPropertyChanged与我的可观察词典,但它不会更新。我已经搜索了每个WPF属性更改事件,该事件在堆栈溢出上不起作用,我正在寻找一些帮助。
自定义组合框代码:
<controls:MultiSelectComboBox Width="100" Height="30" Padding="0 10 0 0" Grid.Row="0" Grid.Column="1"
ItemsSource="{Binding Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True,
Path=DataContext.OptionTeamMembersDictionary,
BindsDirectlyToSource=True,
RelativeSource={RelativeSource AncestorType={x:Type UserControl},Mode=FindAncestor}}"
SelectedItems="{Binding SelectedOptionTeamMembersDictionary, Mode=TwoWay}"
x:Name="TeamMemberDisplay"
ToolTip="{Binding Path=Text, RelativeSource={RelativeSource Self}}"/>
属性和私有变量:
private ObservableDictionary<string, object> _optionTeamMembersDictionary;
private ObservableDictionary<string, object> _selectedOptionTeamMembersDictionary;
public ObservableDictionary<string, object> OptionTeamMembersDictionary
{
get
{
return _optionTeamMembersDictionary;
}
set
{
_optionTeamMembersDictionary = value;
OnPropertyChanged("OptionTeamMembersDictionary");
}
}
public ObservableDictionary<string, object> SelectedOptionTeamMembersDictionary
{
get
{
return _selectedOptionTeamMembersDictionary;
}
set
{
_selectedOptionTeamMembersDictionary = value;
OnPropertyChanged("SelectedOptionTeamMembersDictionary");
}
}
我使用一个按钮来触发数据库拉取,该拉取将每行引导到一个对象中,然后在返回多行数据时填充选项TeamMemberDictionary。
当数据加载到我的构造函数中时,上述所有内容都有效,但是当它在启动后加载时,我的组合框不会显示集合中的新数据。
三国纷争
相关分类