ふらっとC#,C♯,C#(初心者用) Part64
■ このスレッドは過去ログ倉庫に格納されています
0707デフォルトの名無しさん
2010/11/03(水) 01:42:39DataContextに何が入るのかなんてSelectにマウスオーバーすれば一発で分かるだろ…。
ブレークポイントで止めて、実際に何が入っているのか確認もしていない。
INotifyPropertyChangedだってWinFormsの頃から使われてた。
IDEを使えずC#を知らないのに理解できるわけないじゃないか。
最初から全て理解するなんて誰にもできない。誰だって自分が理解できる範囲から少しずつ知識を広げていくもんだ。
サンプルからコピペするだけの状況から抜け出すには、自分で努力するしかない。
・WindowのDataContextにIEnumerable<FileInfo>が入れられる。
・{Binding}は親のDataContextに入ってる物を参照する。
ListViewのItemsSourceは列挙可能なインスタンス(Array,List<T>,IEnumerable<T> ...)を受け取る。
→<ListView ItemsSource="{Binding}">でItemsSourceにWindow.DataContextのIEnumerable<FileInfo>が入る。
・ListView.ItemTemplateはItemsSourceに入っているIEnumerable<FileInfo>から要素(FileInfo)を一つずつ取り出し、自分のDataContextに格納する。
・<TextBlock Text="{Binding Name}" />でDataContextに入っている要素(FileInfo)からプロパティ(Name)の値を取得し、TextBlockに表示する。
厳密に言うと違うとこもあるけど、イメージとしてはこんな感じ。
■ このスレッドは過去ログ倉庫に格納されています