質問

ユーザーがカスタム アイコンを選択できるダイアログがあります。ロードされたアイコンはコンボボックスに表示され、ユーザーはそこで選択を行います。コンボボックスの XAML コードは次のとおりです。

<ComboBox 
    Style="{DynamicResource IconComboBox}"
    ItemTemplate="{StaticResource IconTemplate}"
    ItemsSource="{Binding Icons,
        RelativeSource={RelativeSource FindAncestor, 
            AncestorType={x:Type UserControl}}}"
    SelectedItem="{Binding Icon}"
    />
  • アイコン の配列を返すプロパティです。 ビットマップフレーム.
  • アイコン は現在選択されているプロパティです。

現在機能しないのは、コードビハインドで Icon プロパティを設定すると (たとえば、最後にダイアログが表示されたときにユーザーが選択したアイコンを表示するとき)、コンボボックスの選択が空白になることです。OnPropertyChanged を呼び出す前にプロパティを null に設定したかのように。

私の現在の理論は、WPF は BitmapFrames を比較できないため、リストを確認する際に「等しい」アイコンを判断できず、したがって null とみなされます。

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

役に立ちましたか?

解決

あなたは現在選択されている項目を設定することの背後にあるコードでのSelectedItemまたはSelectedIndexをを使用することができます!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top