winforms의 idataerrorinfo
-
05-07-2019 - |
문제
winforms 응용 프로그램에서 idataerror 정보를 올바르게 사용할 수 있습니까? 과거에 나는 평범한 방법 (1)을 구속력있게하고 있었고 특정 통제의 악의적 인 사건에서 검증을 수행했습니다. 데이터 검증을 도메인 모델로 이동하여 사용자 인터페이스를 쉽게 교체하고 모든 논리가 한 곳에 있도록 쉽게 교체 할 수 있습니다.
나는 idataerrorinfo를 조사하고 있었지만 내가 찾은 모든 것은 WPF와 개발중인 앱을 다루며 엄격하게 Winforms 앱입니다.
또한 WPF에서 사용되는 바인딩은 System.Windows.Data에 있으며 항상 사용하고있는 바인딩은 System.Windows.forms에 있습니다 (추가하려고 할 때는 그렇지 않은 것 같습니다. 리소스로서 -3.5)를 사용하고 있습니다.
(1) 일반적인 방법은 다음과 같습니다.
myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));
해결책
이것은 함께 작동합니다 ErrorProvider Windows 양식의 구성 요소.
완전하지만 매우 간단하고 짧은 튜토리얼을 보려면 이 블로그 게시물.
다른 팁
예, IDataErrorInfo
WinForms에서 작동합니다. 예를 들어, DataGridView
이것을 자동으로 셀 과당 및 당사자 모두로 사용합니다. 그러나 그것은 구현 별이며 그렇지 않습니다 자동으로 다른 바인딩에 적용됩니다. 나는 한 번에 오류 제공자와 연결하고 변경 이벤트를 통해 작업을 수행하기 위해 코드를 작성했지만 불행히도 손을 잡을 수는 없습니다. 그러나 나는 그것이 크지 않았다는 것을 기억하는 것 같습니다.