我有UserControl1和UserControl1中的另一個UserControl2。 在用戶控件2中,我有一個列表視圖。複選框綁定不工作在WPF ListView單元格模板
我從數據庫中獲取數據集,並且想要將「MyTable」與listview綁定。所以我做了如下所示的 後面的代碼。
UserControl1.UserControl2.lstview.ItemsSource = DataSet.Tables["MyTable"].DefaultView;
上述方法正在工作。但問題是,在一列中有一個複選框作爲單元格模板。
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding isok, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="20" Height="15" />
</DataTemplate>
</GridViewColumn.CellTemplate>
[ISOK處於MyTable的比特類型列]
但是,當我更新通過代碼ISOK列時,它未在UI反射。即,複選框未被選中或未被選中。
所以也許這可能是沒有將綁定模式設置爲2的問題。所以我做了如下所示。但是,當我做如下所示的列表視圖中沒有數據顯示!
這裏有什麼問題?
Binding b = new Binding("DataSet.Tables");
b.Source = DataSet.Tables["MyTable"].DefaultView;
b.Mode = BindingMode.TwoWay;
UserControl1.UserControl2.lstview.SetBinding(ListView.ItemsSourceProperty, b);
我更新的列值如下圖所示
DataView dv = (DataView)lstview.ItemsSource;
foreach (DataRow dr in dv.Rows)
{
dr["isok"] = isselected;
}
注:這裏沒有MVVM
感謝您的回覆。但如何從ListView項目源獲取DataRowView?它僅僅是DataView? – user2017793
我爲你編輯了我的答案。 –