Visual Studio/WPF > Error: System.InvalidOperationException: '바인딩을 사용한 후에 변경할 수 없습니다. '
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community
h tp : /// s ぇ l. ldb㎉g. jp / archi s / 52334874. HTML
를 바탕으로 학습 중.
private void ChangeUpdateSourceTrigger(TextBox textBox, string name) {
Binding binding = BindingOperations.GetBinding(textBox1, TextBox.TextProperty);
BindingOperations.SetBinding(textBox, TextBox.TextProperty,
new Binding(name) {
Mode = BindingMode.TwoWay,
UpdateSourceTrigger = _myObject.UpdateSourceTrigger
});
}
의 부분에 있어서 GetBinding()한 binding을 사용하고 있지 않은 부분이 신경이 쓰였다.
사용하도록 해 보았다.
private void ChangeUpdateSourceTrigger(TextBox textBox, string name)
{
// 1. original
//Binding binding = BindingOperations.GetBinding(textBox1, TextBox.TextProperty);
//BindingOperations.SetBinding(textBox, TextBox.TextProperty,
// new Binding(name)
// {
// Mode = BindingMode.TwoWay,
// UpdateSourceTrigger = _myObject.UpdateSourceTrigger
// });
// 2. 変更
Binding bnd = BindingOperations.GetBinding(textBox, TextBox.TextProperty);
bnd.UpdateSourceTrigger = _myObject.UpdateSourceTrigger;
BindingOperations.SetBinding(textBox, TextBox.TextProperty, bnd);
}
실행하여 ComboBox를 변경하면 다음 오류가 발생합니다.
GetBinding () 한 변수를 사용하여 UpdateSourceTrigger를 변경할 수없는 것 같습니다.
그 때문에 new Binding() 하고 있다고 이해했다.
Reference
이 문제에 관하여(Visual Studio/WPF > Error: System.InvalidOperationException: '바인딩을 사용한 후에 변경할 수 없습니다. '), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/91916148890e3c33cf47텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)