我有一個可編程生成的可變數量的列的數據網格。它包含DataGridTemplateColumns,每個都有一個包含CheckBox和TextBlock的DockPanel。WPF CheckBox.IsChecked綁定
綁定代碼:
Binding bindingPicked = new Binding(string.Format("Prices[{0}].Picked", i));
bindingPicked.Mode = BindingMode.TwoWay;
複選框代碼:
FrameworkElementFactory factoryCheckBox = new FrameworkElementFactory(typeof(CheckBox));
factoryCheckBox.SetValue(CheckBox.IsCheckedProperty, bindingPicked);
採摘屬性:
private bool _picked;
public bool Picked
{
get { return _picked; }
set { _picked = value; }
}
在DataGrid被初始化,如預期的那樣回升干將被調用。但是,當我選中/取消選中複選框時,不會調用setter。這是什麼造成的?我不想使用DependencyProperty,我不認爲這是需要的,因爲我只需要在用戶單擊CheckBox時調用屬性設置器。
編輯:顯然我是一個白癡,我只是忘了 bindingPicked.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 隨時關閉此。
是的......多麼愚蠢的錯誤(2小時浪費「修復」)。感謝:D – svinja 2012-03-30 07:34:56