GridViewでデータバインディングを実装する-WPFデータバインディング
WPF データ グリッドでデータ バインディングを有効にする手順:
- データバインディングするデータオブジェクトを表すデータモデルクラスを作成します。このクラスは、データが変更されたときにUIの更新を通知するためにINotifyPropertyChangedインターフェイスを実装する必要があります。
public class MyData : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
}
// 其他属性...
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
- XAMLでGridViewを定義し、ItemSourceプロパティをバインドするデータコレクションに設定します。
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
<!-- 其他列... -->
</GridView>
</ListView.View>
</ListView>
- ItemSource にコレクションを設定して、オブジェクトに基づいて、データがそのコレクションに追加されます。
public ObservableCollection<MyData> MyDataCollection { get; } = new ObservableCollection<MyData>();
// 添加数据
MyDataCollection.Add(new MyData { Name = "John" });
MyDataCollection.Add(new MyData { Name = "Alice" });
// 设置ItemSource
myListView.ItemsSource = MyDataCollection;
こうすることで、MyDataオブジェクトのプロパティ値を変更すると、GridView内の対応するセルが変更されます。