Получить коллекции и перечислить выбранное значение Сетка свойств WPF - PullRequest
2 голосов
/ 26 октября 2010

Я использую WPF PropertyGrid (http://www.codeplex.com/wpg) в моем проекте. Но у меня есть некоторые проблемы с этим компонентом.

1) Я могу показать свои коллекции IList в ComboBox. Но я не могу получить выбранное значение. Как я могу получить выбранное значение?

2) Перечисления автоматически отображаются в выпадающем списке, но я не могу получить выбранное значение, например # 1.

Вы можете мне помочь?

Это собственность моей коллекции

public class Contact {
// Other properties

    [TypeConverter(typeof(MyConverter))]
        public string Cities
        {
            get;
            set;
        }
}

Это мой конвертер класса

class MyConverter : TypeConverter
    {
        public override bool
        GetStandardValuesSupported(ITypeDescriptorContext context)
        {
            return true;
        }
        public override StandardValuesCollection
        GetStandardValues(ITypeDescriptorContext context)
        {
            List<string> list = new List<string>();

            list.Add("Istanbul");
            list.Add("Ankara");
            list.Add("Izmir");

            StandardValuesCollection cols = new
            StandardValuesCollection(list);
            return cols;
        }
    }

Когда я установил экземпляр класса Contact в свойство Instance WPF PropertyGrid, я не увидел ни одного комбокса. Но если я установлю свой объект на .Net PropertyGrid, я смогу увидеть, что это решение работает хорошо.

Так что я думаю, что этот PG не поддерживает TypeConverts, так что я могу сделать?

1 Ответ

0 голосов
/ 26 октября 2010

WPF propertygrid поддерживает TypeConverters?То, как это было сделано в Winforms PG, заключалось в том, что вы могли бы написать TypeConverter и добавить его в качестве атрибута к своему свойству.Затем TypeConverter может указывать StandardValuesCollection.Таким образом, в вашем объекте у вас есть свойство, которое принимает одно значение, а ваш конвертер определяет коллекцию возможных значений.

...