프로그래밍 방식으로 생성하는 가변 개수의 열을 가진 DataGrid가 있습니다. 여기에는 DataGridTemplateColumns가 포함되어 있으며 각각 CheckBox 및 TextBlock이 포함 된 DockPanel이 있습니다.WPF CheckBox.IsChecked binding
바인딩 코드 :
Binding bindingPicked = new Binding(string.Format("Prices[{0}].Picked", i));
bindingPicked.Mode = BindingMode.TwoWay;
CheckBox 구성 코드 :
FrameworkElementFactory factoryCheckBox = new FrameworkElementFactory(typeof(CheckBox));
factoryCheckBox.SetValue(CheckBox.IsCheckedProperty, bindingPicked);
왔는데 속성은 예상대로
DataGrid를 초기화private bool _picked;
public bool Picked
{
get { return _picked; }
set { _picked = value; }
}
의 고른 게터가 호출된다. 그러나 확인란을 선택/선택 취소하면 setter가 호출되지 않습니다. 이 원인은 무엇입니까? DependencyProperty를 사용하고 싶지 않아 사용자가 CheckBox를 클릭 할 때 속성 설정자가 필요하기 때문에 필요하다고 생각하지 않습니다.
편집 : 분명히 나는 바보입니다. 간단히 잊었습니다. bindingPicked.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 언제든지이 작업을 종료 할 수 있습니다.
예 ... 어리석은 실수 (그리고 2 시간은 그것을 "고치기"를 낭비했습니다). 고마워 – svinja