私が簡略化されている例を動作しませんバインディング:WPF
XAML:
<CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay}" Name="cb" />
<Button Name="button1" Click="button1_Click" />
コードの背後にある:
public partial class MainWindow : Window
{
private ObservableCollection<MyObject> collection = new ObservableCollection<MyObject>();
public MainWindow()
{
InitializeComponent();
collection.Add(new MyObject(true));
//grid.DataContext = collection[0];
}
private void button1_Click(object sender, RoutedEventArgs e)
{
collection[0].IsSelected = false;
}
}
public class MyObject
{
public bool IsSelected { get; set; }
public MyObject(bool isSelected)
{
this.IsSelected = isSelected;
}
}
がcb.IsCheckedはしかし、ボタンのクリックによって変更されません。コレクション[0] .IsSelectedが変更されます。
私がコメントを外しても、grid.DataContext = collection [0]; - 何も変わっていません。
実際の例では、リストボックスのアイテムテンプレートに同じチェックボックスがあります。つまり、動作は同じです。チェックボックスの選択は変更されません。あなたのMyObjectにタイプ