IsEditable 속성을 true로 설정하여 콤보 상자 텍스트에 바인딩하려고합니다. 텍스트에 바인딩 된 내 viewmodel 속성이 있습니다.Wpf 콤보 상자 텍스트 속성 바인딩 문제
콤보 박스의 텍스트에 입력 된 텍스트의 유효성을 검사하고 사용자가 입력하는 일부 값을 제한하려고합니다. 따라서 일부는 허용되고 일부는 허용되지 않으며 콤보 박스를 다시 설정해야합니다. 그것의 오래된 가치.
뷰 모델에서이 작업을 수행하고 내보기 모델에서 내 텍스트 속성을 이전 값으로 설정하려고했거나 변경 사항을 무시하고 속성이 변경되었음을 알았지 만 내게는 그렇게 될 것입니다. 텍스트를 이전 값으로 새로 고치지 않습니다.
이것은 콤보 상자가 편집 가능하고 텍스트 캐럿이 있고 콤보 상자의 텍스트 어딘가에 초점을 맞추기 때문에 발생합니다.
기본적으로 편집하는 동안 콤보 상자에서 일부 입력을 제한하면 이전 텍스트로 다시 새로 고침하고 싶습니다. 누구나 ViewModel을 통해 텍스트를 이전 값으로 재설정 할 수있는 아이디어가 있습니다. 미리 감사드립니다!
종속성 속성을 사용하고 INotifyProperty가 변경되었습니다. 둘 다 작동하지 않았다. 콤보 상자의 Text 속성에 대한 바인딩은 TwoWay입니다. –
여기서 abouts는 사용자 입력의 유효성 검사를 수행하고 있습니까? –
dep 프로퍼티의 onpropertychanged 콜백에서 수행했습니다. 그리고 뷰 모델의 텍스트 속성 설정자에서 텍스트의 유효성을 검사하는 다른 메서드를 호출하여이 작업을 수행했습니다. –