2009-11-30 3 views
1

을 낭비했습니다.은 많은 데이터 중에서 특정 데이터 격자가 텍스트가없는 축소 된 행을 표시하는 이유를 확인하기 위해 많은 시간을 투자했습니다. 많은 시행 착오를 거쳐이 그리드를 특별하게 만드는 것이 무엇인지 파악한 후에 행 항목에 사용 된 클래스가 비공개로 표시된다는 사실을 마침내 발견했습니다.바인딩 필드가 존재하지 않을 때 Silverlight DataGrid가 예외를 throw하도록 설정합니다.

그것은 완벽하게 좋은 이유입니다. 그러나 바인딩 문제 (그리고 가능한 경우 "필드가 보호 수준으로 인해 액세스 할 수없는"유형 메시지)를 훨씬 더 빨리 줄일 수 있었으면합니다. 데이터를 얻고 그 그리드를 구성하기 위해 취해진 전체 뒤얽힌 프로세스를 체계적으로 디스 어셈블합니다. 이상적으로는 처음부터 잘못된 행동을 보지 않아도 안되었습니다. 열이 필드에서 읽을 수 없을 때 즉시 오류가 발생해야합니다.

내 모든 데이터 그램은 일부 글로벌 표준을 적용하기 위해 사용자 지정 기본 클래스에서 상속받습니다. 예를 들어 열 바인딩 표현식이 실패 할 때마다 예외가 발생하도록 CustomDataGrid 클래스에서 할 수있는 일이 있다면 클래스/속성이 비공개이거나 바인딩 이름에서 속성 이름이 잘못 표기 되었습니까? (이는 바인딩 유효성 검사와 다릅니다.)

답변

1

SL/WPF 데이터 바인딩을 처리 할 때 디버그 출력 창에 항상주의하십시오. 프레임 워크는 실제로 바인드하지 못했던 필드 또는 무엇을 가지고 있는지에 대한 특정 세부 정보를 포함하는 데이터 바인딩 문제에 대한 메시지를 생성하는 데 꽤 유용합니다.

이것은 원래 질문에 정확히 답변하지는 않지만 좋은 정보가 거기에 던져져 있다는 것을 알게되면 바인딩 문제를 해결하는 데 도움이됩니다.

관련 문제