私はBindingとWPFを初めて使用しますが、 listBox
Bindingtechを使用して複数の列を含むを作成する方法を最近学びました。
<ListView ItemsSource="{Binding Items}" Margin="306,70,22,17" MouseDoubleClick="listBoxSS_MouseDoubleClick" Name="listBoxSS" >
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="first_name " Width="100" DisplayMemberBinding="{Binding Path=First_name}" />
<GridViewColumn Header="last_name" Width="100" DisplayMemberBinding="{Binding Path=Last_name}" />
<GridViewColumn Header="phone_number" Width="100" DisplayMemberBinding="{Binding Path=Phones[0]}" />
<GridViewColumn Header="notes" Width="100" DisplayMemberBinding="{Binding Path=Notes}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
これがコードです:
List<Student> arr = search.students();
listBoxSS.ItemsSource = arr;
しかし、問題は、アイテムの追加または削除を使用しようとしたとき、またはクリアしたときでした
listBoxSS.Items.Clear();
アイテムのソースを使用する例、またはアイテムを追加または削除したり、リストをクリアしたりする方法の例が必要です。
編集:
<ListView ItemsSource="{Binding Items}" Margin="306,70,22,17" MouseDoubleClick="listBoxSS_MouseDoubleClick" Name="listBoxSS" >
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="first_name " Width="100" DisplayMemberBinding="{Binding Path=First_name}" />
<GridViewColumn Header="last_name" Width="100" DisplayMemberBinding="{Binding Path=Last_name}" />
<GridViewColumn Header="phone_number" Width="100" DisplayMemberBinding="{Binding Path=Phones[0]}" />
<GridViewColumn Header="notes" Width="100" DisplayMemberBinding="{Binding Path=Notes}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
そしてここにコードがあります:
ObservableCollection<Employee> Gemployees;
var employees = new ObservableCollection<Employee>(search.employees());
search.employees()
DB内のすべての従業員のリストを取得します
listBoxPE.ItemsSource = employees;
Gemployees = employees;
これで、Gemployeesですべてのメソッドを実行できます
Gemployees.Remove((Student)listBoxSS.SelectedItem);
Gemployees.Add((Student)listBoxSS.SelectedItem);
ListView
従業員にアイテムを追加または削除するたびに更新を実行してください!! かっこいいですが、それでもバインディングには少し大変な作業があります。今、私はすべてのListViewに対してインターフェイスクラスを実行しているので、自分のものをそこに入れることができます。アイテムの追加に柔軟性はありません。