0
私はWPFでSilverlightでLinQを使用してオブジェクトにXMLをロードしようとしていますが、コンボボックスを埋めたりバインドすることはできません。ComboBoxをSilverlight(WPF)でLINQで塗りつぶし
オブジェクトのコードがある:
public class Language_Index
{
public string Prefix { get; set; }
public string Status { get; set; }
public string Name { get; set; }
}
私のXMLは、次のとおり
<languages_index>
<item prefix="VBNET" name="Visual Basic .NET" status="enabled" />
<item prefix="CS" name="C#" status="disabled" />
及びコードデータをロードして提示することである。
string XmlString = e.Result; // Got all your XML data in to a string
XDocument elem = XDocument.Load(XmlReader.Create(new StringReader(XmlString)));
var feed_language_index = from nod in elem.Descendants("languages_index")
select new Language_Index
{
Name = nod.Element("item").Attribute("name").Value,
Status = nod.Element("item").Attribute("status").Value,
Prefix = nod.Element("item").Attribute("prefix").Value
};
LanguageSelector.ItemsSource = feed_language_index;
もちろん、貼り付けられたコードhエラーはありませんが、動作しません。 LanguageSelectorは私のコンボです。 linqに問題はありません。問題はコンボボックスをバインドするときです。
私が本当に欲しいのは、次のようなことです: MyComboBox.DataSource = MyClass.name;すべての要素に対して
ありがとうございます! :)
訂正されたコードありがとう!そして、もし私が "language_Index"のインスタンスをlinqの選択で満たしたいのであれば、そして、そのlanguage_indexのインスタンスでコンボボックス(languageselector)をロードしようとしたらどうなりますか? :) –
申し訳ありませんが、コードを試しましたが、それは動作しません。たぶん私はXAMLで何かを指定する必要がありますか?ありがとう –
これらのものを表示するには、慎重にItemTemplateを指定する必要があります。例えば。 DataTemplate> ComboBox。 ItemTemplate> –