2012-11-02 2 views
1

ADO.NET을 많이 사용하는 WPF를 사용하는 작은 .NET 4 프로그램이 있습니다. 지금 SQL 데이터 액세스/처리를 "기본 창"WPF 창에서 분리하는 코드를 리팩토링해야합니다. 현재 DataSet 작성 코드에는 많은 데이터 무결성 검사가 있습니다 (MessageBox.Show() 사용과 같은) 모달 경고 대화 상자를 (잠재적으로) 발생시킵니다. 여기서 "올바른 일을하고 싶다"는 표시를하고 데이터 처리와 창 표시를 분리하고 싶습니다. (아니면 모덜 다이얼로그가 순전히 "숫자 - 크 런칭 클래스"에서 튀어 나오지 않는 것이 좋을까요?) 어떻게해야합니까? 기사/개념에 대한 모든 포인터가 감사하겠습니다 - 감사합니다.데이터 클래스에서 WPF 대화 상자 분리하기

+0

내 의견에 대한 의견 일 수도 있지만 도서관, 도우미 클래스 및 "데이터 모델"은 모달 대화 또는 시각적 인공물을 생성해서는 안된다는 것이 일반적인 의견입니다. 디스플레이 코드 만 그렇게해야합니다. 그래서, IMHO, 당신은 바른 길을 가고 있습니다. UI 코드가 아닌 코드는 예외를 생성해야합니다. 예외 코드는 표시 코드가 catch하고 대화 호출로 변환해야합니다. – ianschol

답변

1

데이터 개체 또는 데이터 세트 만 사용하고 있습니까? 데이터 개체를 사용하는 경우 IDataErrorInfo을 사용하여 유효성 검사를 구현 한 다음 메시지 상자를 표시하는 대신 WPF 컨트롤에서 유효성 검사를 사용하도록 설정합니다. 다음은 데이터 세트 및 유효성 검사에 대한 좋은 글입니다 - Displaying Data Validation Messages in WPF.

+0

정보를 제공해 주셔서 감사합니다. 나는 내가 자신을 잘 설명하지 않았다고 생각한다. 필자가 필요로하는 "유효성 검사"는 기존 테이블의 복잡한 계산이 필요합니다. 사용자가 PC에서 입력 할 수있는 것이 아니기 때문에 테이블 셀을 만들 때 확인할 수는 없습니다. 필자가 정말로 필요로하는 것보다 더 많은 조사를 한 후에는 MVVM 설정이 필요합니다. – Conrad

+0

내가 제안한 것의 특별한 경우는 어느 것입니까? MVVM 솔루션을 구현하면 데이터 세트를 사용하지 않고 실제 데이터 객체를 사용하여 유효성 검사 코드를 추가 할 수 있습니다. – hashlock

관련 문제