0

我有一个对话框,让用户选择一个自定义图标。加载的图标显示在用户进行选择的组合框中。这是组合框的 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)的最佳方法是什么?

4

1 回答 1

0

您可以在后面的代码中使用 SelectedItem 或 SelectedIndex 来设置当前选中的项目!

于 2009-10-12T08:48:05.813 回答