BitmapFrame في WPF ComboBox
-
20-09-2019 - |
سؤال
لدي مربع حوار يتيح للمستخدم اختيار أيقونة مخصصة. يتم عرض الرموز المحملة في combobox حيث يقوم المستخدم بالتحديد. فيما يلي رمز XAML لـ Combobox:
<ComboBox
Style="{DynamicResource IconComboBox}"
ItemTemplate="{StaticResource IconTemplate}"
ItemsSource="{Binding Icons,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}}}"
SelectedItem="{Binding Icon}"
/>
- أيقونات هي خاصية تُرجع مجموعة من صورة نقطية.
- أيقونة هو خاصية للمتخصصة حاليا.
ما لا يعمل حاليًا هو أنه عندما أقوم بتعيين خاصية Icon (على سبيل المثال ، عند عرض أيقونة التي اختارها المستخدم في المرة الأخيرة التي تم فيها عرض مربع الحوار) ، يكون اختيار Combobox فارغًا. كما لو كنت قد قمت بتعيين العقار على NULL قبل استدعاء OnPropertyChanged.
نظريتي الحالية هي أن WPF لا يمكنها مقارنة أسماء النقط ، لذلك عند المشي عبر القائمة ، فإنه يفشل في تحديد أي من الرموز هناك "متساوية" وبالتالي يفترض فارغة.
بالمختصر؛ ما هي أفضل طريقة لها من خلال الكود وراء تعيين العنصر المحدد حاليًا ، وهو عبارة عن صورة نقطية ، في combobox؟
المحلول
يمكنك استخدام SelectionItem أو SelectionIndex في الكود وراء تعيين العنصر المحدد حاليًا!