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 プロパティを設定すると (たとえば、前回ダイアログが表示されたときにユーザーが選択したアイコンを表示する場合)、コンボボックスの選択が空白になることです。OnPropertyChanged を呼び出す前にプロパティを null に設定したかのように。

私の現在の理論では、WPF は BitmapFrames を比較できないため、リストをたどると、そこにあるアイコンのいずれかが「等しい」と判断できず、null と見なされます。

要するに; コード ビハインドを使用して、現在選択されているアイテム (BitmapFrame) をコンボ ボックスに設定する最良の方法は何ですか?

4

1 に答える 1

0

コード ビハインドで SelectedItem または SelectedIndex を使用して、現在選択されている項目を設定できます。

于 2009-10-12T08:48:05.813 に答える