문제

내 ObjectDatasource A LA에서 중첩 유형을 사용하려고합니다. 이것 기사. 그것은 나를 위해 일하지 않는 것 같습니다.

<ObjectDataProvider x:Key="myProvider" ObjectType="{x:Type local:OutsideClass+InsideClass}" MethodName="GetObjects" />
도움이 되었습니까?

해결책

이것은 2008 년과 그 이후의 알려진 문제입니다. Microsoft의 공식 위치는이 작업을 수행해서는 안된다는 것입니다.:

당신이 쓰는 XAML은 명확하게 합법적이고 런타임에 작동하며 표현식 혼합으로 올바르게로드하는 동안, 우리는 현재 마크 업 확장에서 중첩 클래스를 사용하고 액세스하는 것이 응용 프로그램 빌드에서 매우 일반적이라고 생각하지 않습니다.

다른 팁

일하는 한 가지 방법 x:Type 중첩 된 유형에 대한 참조는 새로운 마크 업 확장을 정의하고 대신 사용하는 것입니다. x:Type 마크 업 확장. 나는 소스를 포함하여 하나에 대한 정보를 게시했습니다. Type2Extension 수업,에서 이 답변.

그만큼 Type2Extension 같은 디자이너 오류를 생성하지 않습니다 TypeExtension 하다. 아마도 이것은 VS 2010에서 발생하지 않을 것입니다.

유일한 경고는 원본입니다 TypeExtension 당신은 함께 사용합니다 {x:Type 타이프 이름} 보다 조금 더 강력합니다 Type2Extension (예 : 인수가 무효인지 확인하고 예외를 던지는 것).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top