我有一个对话框,让用户选择一个自定义图标。加载的图标显示在用户进行选择的组合框中。这是组合框的 XAML 代码:
<ComboBox
Style="{DynamicResource IconComboBox}"
ItemTemplate="{StaticResource IconTemplate}"
ItemsSource="{Binding Icons,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}}}"
SelectedItem="{Binding Icon}"
/>
- Icons是一个返回BitmapFrame数组的属性。
- Icon是当前选择的属性。
当前不起作用的是,当我通过后面的代码设置 Icon 属性时(例如,当显示用户上次显示对话框时选择的 Icon 时),Combobox 选择只是空白。好像我在调用 OnPropertyChanged 之前已将属性设置为 null。
我目前的理论是 WPF 无法比较 BitmapFrames,因此在遍历列表时,它无法确定那里的任何图标“相等”,因此假定为 null。
简而言之; 通过后面的代码在组合框中设置当前选定的项(即 BitmapFrame)的最佳方法是什么?