객체 dataprovider 마크 업의 중첩 유형
-
18-09-2019 - |
문제
내 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
(예 : 인수가 무효인지 확인하고 예외를 던지는 것).
제휴하지 않습니다 StackOverflow