XAML의 설계 시간 유효성 검사를 구현하는 방법으로 컴파일 오류가 발생합니까?

StackOverflow https://stackoverflow.com/questions/335645

문제

Visual Studio에 XAML을 작성하는 개발자가 특정 표준을 따라야하고 유효성이 유효한 시간 오류가 발생하는 경우 방법을 시행하는 방법.

예를 들어, 디자인 시간 동안 구현하려는 '사용자 정의 검증'에 따라 모든 데이터 바인딩 표현식 (일부는 실제 길이)이 올바르게 작성되도록합니다. 처럼,

<TextBox Text="{Binding Source={StaticResource CALCULATED}, Converter={StaticResource XPathConverter}, ConverterParameter=@FIRSTNAME_STRING, XPath=@FIRSTNAME}"/>

위의 샘플에서 텍스트 속성의 바인딩 표현은 해당 형식이 아닙니다., a가 있어야합니다 컴파일 오류.

이것을 할 방법이 있습니까?

도움이 되었습니까?

해결책

죄송합니다. XAML 언어 서비스도 이런 식으로 확장 할 수 없습니다. 오늘날이 작업을 수행하는 가장 좋은 방법은 빌드 작업을 작성하는 것입니다. MarkupCompypass1dependson 대상에 연결할 수 있으며 사용자가 XAML 파일을 저장하거나 변경할 때 자동으로 호출됩니다. 여전히 파일을 중복으로 스캔해야하지만이 작업을 수행하기 위해 실제 빌드를 기다릴 필요는 없습니다. 이것은 현재 WPF 디자이너를 연구하고있는 Microsoft Architect 중 하나의 직접적인 인용입니다.

다른 팁

이를 수행하는 내장 방법은 없습니다. 이 결과를 얻을 수있는 가장 좋은 방법은 입력에서 사용자 정의 도구를 실행하는 것입니다. 이를 위해서는 파일을 직접 구문 분석하는 것이 포함되지만이 시나리오를 작동시킬 수 있기 때문에 많은 다리 작업이 필요합니다.

사용자 정의 생성기 생성을위한 예제

http://www.drewnoakes.com/snippets/writeacustomcodegeneratortoolforvisualstudio/

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