ゼロから始めるC#生活 その8 WPFでListView

イマイチVSでWPFでListViewを作ればいいのか分からなかったのでメモをば。

まずはListViewを追加して、プロパティの Columns の … ボタンを押して
コレクションエディタを出します。

左側の下にある「追加」ボタンを押しつつ、項目を足して
Header に、Headerに入れたい文字を入れて
DisplayMemberBinding の右の■をクリック→ データバインドの作成で

データコンテキスト にして パスに名前と同じ数値を入れておきます。

これをColumnsの数分やります。

 

できあがったXAMLはこんな感じ。
これだけだと上手くいかないので、ListViewの中に ItemsSource=”{Binding Mode=OneWay} を入れておきます。

続いてC#

中に入れるためのコレクションと、専用のクラスを作成します。
ZipRecord のプロパティ名が、ColumnsのDisplayMemberBindingと同じになるようにしておきます。

あとは、表示するための中身を追加して、DataContextに入れればOKです。
バインディングで指定した データバインディングのパス というのは、コレクションでセットしたオブジェクトと実体を紐付けるためのパスということで、
今回の場合、セットしたオブジェクトをルートとして、そのプロパティが表示したいものだったから、パス指定=プロパティ名になったということなんですね。
ナルホド。

このデータバインディングをVSのツールを使用して設定してる例が意外となくて
どのサンプルも直接XAMLを書き換えているので、どうも理解が出来ませんでした(汗

分かってくるとバインディング周りも理解ができてくるのですが…
意外とWPF周りは資料が少ない(‘A`)

結果。

日々精進!!

 

コメントを残す

メールアドレスが公開されることはありません。

*