في WPF، هل من الممكن أن يكون عنصر تحكم مربع التحرير والسرد، الذي يبدو وكأنه زر راديو؟

StackOverflow https://stackoverflow.com/questions/1615440

سؤال

ولدي مجموعة كاملة من التعليمات البرمجية التي تعتمد على نوع منسدل، وأريد أن أكون قادرة على استخدامها على واجهة مستخدم جديدة، ولكن واجهة المستخدم التي أريد أن استخدامه لاحتياجات لتبدو وكأنها زر راديو لسهولة الاستخدام الأسباب. هل من الممكن أن يكون لها نظرة تحكم تحرير وسرد مثل مجموعة من RadioButtons؟

هل كانت مفيدة؟

المحلول

واقتراحي سيكون لاستخدام ItemsControl مع DataTemplate التي من شأنها أن تجعل RadioButtons. إلى ItemsControl كنت ربط الشيء نفسه كنت ملزمة لتحرير وسرد. التحذير واحدة هي التي تحتاج إلى تعيين اسم مجموعة من أزرار الراديو لشيء من شأنه أن يكون هو نفسه إلى المجموعة، حتى أنها يمكن أن تكون يستبعد بعضها بعضا. خلاف ذلك، إذا كنت لا تفعل أي شيء، عليك أن تكون قادرا على تحديد زر راديو أكثر من واحد في وقت واحد.

نصائح أخرى

هل يمكن بناء على UserControl جديد يحتوي على العديد من نفس الأساليب التي الطبقة تحرير وسرد لا، ولكن تكييفه بحيث يخلق صناديق الإذاعة متعددة بدلا من ذلك.

وسؤالك غامض نوعا ما بالرغم من ذلك.

وIE خلق مجموعة العناصر على التحكم الخاصة بك، وعند إضافة شيء، رسم مربع الإذاعة وتغيير حجم التحكم الخاصة بك، بدلا من ما يقوم مربع التحرير والسرد فقط يضيف السلسلة إلى القائمة.

وبعد ذلك كل ما عليك القيام به هو ايجاد واستبدال كل ما تبذلونه من إشارات إلى تحرير وسرد مع RadioIFiedComboBox.

وهيريس بعض المقارنة:

ComboBox cb = new ComboBox();
cb.Items.Add("blah");

أو

RadioIFiedComboBox cb = new RadioIFiedComboBox();
cb.Items.Add("blah");

و

public class RadioIFiedComboBox : UserControl {
  public ObservableCollection<object> Items = new ObservableCollection<object>();
  public RadioIFiedComboBox() {
    Items.CollectionChanged += new NotifyCollectionChangedEventHandler(YourCollectionChanged);
  }
  private void YourCollectionChanged(){
    //do something here to redraw your controls
  }
}

ورمز أعلاه هو مجرد مثال، وكنت قد لتهيئة جميع الأساليب التي تستخدم في فئة تحرير وسرد وخلق وظائف مماثلة.

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