سؤال

لدي مربع حوار يتيح للمستخدم اختيار أيقونة مخصصة. يتم عرض الرموز المحملة في 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 في الكود وراء تعيين العنصر المحدد حاليًا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top