これは初めてのWPFとC#です。現在は完全に空白です。私はstackoverflowとインターネット上で無数の投稿を行ったが、実際には解決策を見つけることができませんでした。私は解決策を見つけたに違いないが、正確に理解することはできないかもしれない。ILIST to XAMLをバインドします
問題: 私は、HttpClientを使用してAPIからデータを取得しました。私はそのデータを正常にデシリアライズし、フロントエンド(XAML)でバインドできますが、問題はIListであり、リストから1行しか表示できないということです。私はそのリストを反復して個々のデータを取り出したいと思っています。
public class FacultyViewModel
{
public Faculty faculty = new Faculty();
IList<Faculty> person;
public FacultyViewModel()
{
string jsonResponse = WebService.getData(Faculty.url);
JObject o = JObject.Parse(jsonResponse);
JArray a = (JArray)o["faculty"];
person = a.ToObject<IList<Faculty>>();
}
public IList<Faculty> List
{
get
{
return person;
}
}
}
JSONデータは次のようになります。私は単にそれが0のインデックスで教員のユーザー名を返していreturn person[0].username
とき
"faculty": [
{
"username": "blah",
"name": "Some name",
"tagline": "",
"imagePath": "some image",
"title": "Lecturer",
"interestArea": "Some Interest",
"office": "Some Office",
"website": "",
"phone": "Some number",
"email": "email",
"twitter": "",
"facebook": ""
},
{
"username": "abcd",
"name": "EFG",
"tagline": "",
"imagePath": "image.jpg",
"title": "Assistant Professor",
"interestArea": "interests here",
"office": "office",
"website": "website",
"phone": "phone",
"email": "email",
"twitter": "",
"facebook": ""
},{...}]
今問題があります。しかし、私はこのリストをXAMLのフロントエンドビューで繰り返したいと思っています。どうやって?私はitemscontrolと多くのものを試してみましたが、その解決策を見つけることに失敗しました。
XAMLファイルのフロントエンドでこのリストを繰り返し処理します。
for(i=0; i<person.length; i++)
{
display person[i].username
display person[i].email and so on....
}
public IList<Faculty> List
{
get
{
return person;
}
}
なぜ「IList」ですか?あなたはIListで何も保存していない 'List'を作成するだけです。次にListViewを使って、あなたがXAMLで試していたものを表示できますか? 'ObservableCollection <>'は、コレクションの変更を見たい場合には別の方法です。 –
mvermef
私は教員とその詳細をそれぞれ表示しようとしています:例:教員の名前:彼/彼女の名前の下にabc彼の興味や写真などを示したい。私はXAMLに何も表示できません。 –
ok master/details – mvermef