WPF组合框中的位图帧

WPF组合框中的位图帧,wpf,xaml,binding,combobox,bitmapframe,Wpf,Xaml,Binding,Combobox,Bitmapframe,我有一个对话框,让用户选择一个自定义图标。加载的图标显示在用户进行选择的组合框中。以下是组合框的XAML代码: <ComboBox Style="{DynamicResource IconComboBox}" ItemTemplate="{StaticResource IconTemplate}" ItemsSource="{Binding Icons, RelativeSource={RelativeSource FindAncestor,

我有一个对话框,让用户选择一个自定义图标。加载的图标显示在用户进行选择的组合框中。以下是组合框的XAML代码:

<ComboBox 
    Style="{DynamicResource IconComboBox}"
    ItemTemplate="{StaticResource IconTemplate}"
    ItemsSource="{Binding Icons,
        RelativeSource={RelativeSource FindAncestor, 
            AncestorType={x:Type UserControl}}}"
    SelectedItem="{Binding Icon}"
    />

  • 图标是返回位图帧数组的属性
  • 图标是当前选定对象的属性
当前不起作用的是,当我通过代码隐藏设置图标属性时(例如,当显示用户上次显示对话框时选择的图标时),组合框选择只是空白。好像我在调用OnPropertyChanged之前将属性设置为null一样

我目前的理论是WPF无法比较位图帧,因此在遍历列表时,它无法确定其中的任何图标是否为“相等”,因此假定为空


简言之;通过代码隐藏在组合框中设置当前选定项(位图框)的最佳方法是什么?

您可以使用代码隐藏中的SelectedItem或SelectedIndex设置当前选定项