プロパティのうちの1つがboolであるObservableCollectionがあります。 DataGridのitemsSourceをObservableCollectionとして設定すると、boolプロパティのチェックボックス列を含む列が自動的に生成されます。コードでWPFデータグリッドのチェックボックス列にチェックを入れてください
私はコードでチェックボックスをチェックする方法を知りたいと思います。
ObservableCollectionのレコードプロパティ値をtrueに更新しようとしましたが、UIの更新には役立ちません。
助けてください。
は、[EDIT:答えで提案されているようにコードの下に動作]
public class InvoiceDoc : INotifyPropertyChanged
{
private bool _Selected;
[DisplayName("Selected")]
public bool Selected
{
get { return _Selected; }
set { _Selected = value; this.OnPropertyChanged(); }
}
[DisplayName("Date")]
public DateTime DocDate { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
if (PropertyChanged !=null)
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
を次のように私のクラスは
を次のようにのItemsSourceを設定<DataGrid x:Name="dgInvoices" Margin="32,110,32,59" AutoGeneratingColumn="dgInvoices_AutoGeneratingColumn"/>
は次のようにデータグリッドがあります
docs = new ObservableCollection<InvoiceDoc>(); ;
dgInvoices.ItemsSource = docs;
グリッドが自動的にチェックボックスをオンにすることを期待していますコレクションの値を設定します。
ああ、そうです。追加と削除が機能しています。それのサンプルがありますか? – Hybridzz
しかし、このイベントにハンドラを追加する必要はありますか? – Hybridzz
いいえ、あなたはいけません。これはどのようにwpf +バインディングが動作するかの魔法です;) – lokusking