2011-04-19 72 views
0

我有一个列表选取器从一个XML文件中的两个字符串传播,一个名称和一个值。WP7 ListPicker设置SelectedItem问题

 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,如果我使用与它上面的一个的方法改变了类CustomValue所述的StringValue的值。

非常感谢任何帮助!

谢谢:)

+0

你是如何试图设置'SelectedItem'?如何设置绑定?你可以设置'SelectedIndex'好吗? – 2011-04-19 12:07:17

+0

尝试使用存储在IO中的XML文件中的字符串进行设置。 我已经尝试了'ListPicker.SelectedItem = string'和((appname.pagename.CustomValue) 谢谢 – Jamie 2011-04-19 12:11:09

回答

4

您不能设置SelectedItem = "something"作为集合持有CustomValuestring实例。你必须使选择的项目成为可选项目之一。

假设您想要选择集合中的第一个项目。有2种方式来做到这一点:

Listpicker.SelectedItem = stringNames.First(); 

Listpicker.SelectedIndex = 0; 
+0

谢谢!我用选定的索引方法 - 更容易,其他方法似乎无法工作...感谢您的帮助:) – Jamie 2011-04-19 20:01:23