두 개의 데이터 바인딩 된 텍스트 상자가 있습니다. 하나는 문자열에 바인딩되고 다른 하나는 숫자에 바인딩됩니다. '기본'바인딩은 XAML에서 설정됩니다. 어떤 상황에서는 런타임에 바인딩을 되돌려 야합니다 (문자열은 보통 접두어이지만 때로는 접미어입니다).코드에서 데이터 바인딩 바꾸기
Binding stringBinding = BindingOperations.GetBinding(view.seqLeft, TextBox.TextProperty);
Binding numberBinding = BindingOperations.GetBinding(view.seqRight, TextBox.TextProperty);
view.seqLeft.SetBinding(TextBlock.TextProperty, numberBinding);
view.seqRight.SetBinding(TextBlock.TextProperty, stringBinding);
코드는 바인딩이 참조하는 속성을로드 그 후 : 나는 윈도우가로드 될 때 호출 내보기 모델에 다음 코드를 보유하고 있습니다.
문제는 '새'바인딩이 작동하지 않는 것입니다. 나는 무엇을 놓쳤는가? 더 좋은 방법이 있습니까?
내 코드에 문제가있는 것은 SetBinding 호출의 TextBlock.TextProperty뿐입니다! 그들은 물론, TextBox.TextProperty되어 있어야하지만 너무 오랫동안 내가 나무에 나무를보고 아니었다. –
우리 중 누구도 당신의 질문을 보지 못했습니다. 축하해! –