Проблема с выбором элемента списка WP7

#c# #xml #silverlight #windows-phone-7

#c# #xml #silverlight #windows-phone-7

Вопрос:

У меня есть средство выбора списка, распространяемое двумя строками из XML-файла, одна из которых — имя, а другая — значение.

         XmlReader xml = XmlReader.Create("file.xml");
        XDocument _doc = XDocument.Load(xml);

        var stringNames = from query in _doc.Descendants("string")
                     select new CustomValue
                     {
                         StringName = (string)query.Attribute("name"),
                         StringValue = (string)query.Attribute("value"),
                     };

        Listpicker.ItemsSource = stringNames;

    public class CustomValue
    {
        public string StringName             
        {
            get;
            set;
        }

        public string StringValue
        {
            get;
            set;
        }
    }
  

Я могу прочитать значение ИЛИ имя, используя
((appname.pagename.CustomValue)(this.Listpicker.SelectedItem)).StringValue

Но я не могу установить SelectedItem, если бы я использовал метод, аналогичный приведенному выше, он изменяет значение stringValue в классе CustomValue.

Любая помощь очень ценится!

Спасибо 🙂

Комментарии:

1. Как вы пытаетесь установить SelectedItem ? Как настроена привязка? Можете ли вы установить SelectedIndex ok?

2. Пытаюсь установить его, используя строку из XML-файла, хранящегося в IO. Я пробовал оба ListPicker.SelectedItem = string и ((appname.pagename. Пользовательское значение) (это. Средство выбора списка. Выбранный элемент)). stringValue = string Как бы я использовал SelectedIndex ? Спасибо

Ответ №1:

Вы не можете установить, SelectedItem = "something" поскольку коллекция содержит экземпляры CustomValue not string . Вы должны сделать выбранный элемент одним из доступных элементов.

Допустим, вы хотели выбрать первый элемент в вашей коллекции. Есть 2 способа сделать это:

 Listpicker.SelectedItem = stringNames.First();
  

или

 Listpicker.SelectedIndex = 0;
  

Комментарии:

1. Спасибо! Я использовал метод выбранного индекса — намного проще, а другой метод, похоже, все равно не сработал… Спасибо за вашу помощь 🙂