XAML 파서는 Foreground = "Red"에서 문자열 "Red"를 SolidColorBrush로 어떻게 변환합니까? 비록 Type이 System.ComponentModel.TypeConverter를 가지고 있다는 것을 알고 있지만, WPF XAML 파서는 항상 문자열을 브러시로 변환하기 위해 사용합니다. XamlReader.Load (유효한 XML 문자열이 필요함)와 별도로 XAML API가 있습니까? 특정 속성에 대한 attibute와 같이 단일 문자열을 구문 분석하는 데 사용할 수 있습니까?문자열을 XAML 특성으로 수동 구문 분석
3
A
답변
-1
본인 스스로가이를 활용할 수 있다고 생각합니다. XamlReader는 대상 형식 (문자열을 적용해야하는 속성 형식)을 알고 있습니다. 해당 속성 유형에 대해 TypeConverter를 등록해야합니다. 이 SolidColorBrush
에 관해서이 당신을 위해 작동합니다
편집 :
var colorString = ...;
var converter = new System.Windows.Media.BrushConverter();
var brush = (SolidColorBrush)converter.ConvertFromString(colorString);
는 .NET 리플렉터
SolidColorBrush
보면,
XamlReader
내에서 직렬화를 수행 마법 주위 유형 알려진 내부 API를 사용 보인다. 이 유형을 처리하기 위해 자신의 유형을 등록 할 수 있는지 여부는 확실하지 않습니다.
0
XAML 파서 (WPF 용)는 실제로 지정된 속성 또는 속성 유형의 형식 변환기를 사용합니다. 몇 가지 하드 코딩 된 단축키가 있지만 성능을 위해 사용되며 의미를 변경하지 않습니다. 파서는 속성 정보 만 사용하여 파서 의미 (예 : 블렌드 및 사이더의 기능)를 복제 할 수 있습니다.
많은 형식 변환이 XAML 구문 구문에서만 작동하기 때문에 주로 XAML과 정확하게 값을 변환 할 API가 없습니다. 예를 들어 형식 변환기는 XAML 파일에 정의 된 네임 스페이스 (값이 XML 파일의 위치에 따라 달라짐)와 파일의 기타 주변 정보 기반 URI를 참조 할 수 있습니다. 이는 XAML 파일을 구문 분석 할 때만 실제로 적용 할 수 있습니다.
가장 가까운 사용자는 유형 설명자에서 속성에 대한 속성 설명자를 요청하고 Converter 속성을 사용하는 것입니다. 이렇게하면 적절한 특성을 검색하여 올바른 형식 변환기를 만들 수 있습니다.
관련 문제
- 1. XAML 구문 분석 예외
- 2. 문자열을 Datetime으로 구문 분석
- 3. 는 구문 분석 문자열을
- 4. 일반적으로 문자열을 구문 분석
- 5. 목표 - C로 문자열을 구문 분석
- 6. 자바에서 문자열을 HTML로 구문 분석
- 7. Java : 문자열을 이중으로 구문 분석
- 8. 문자열을 조각으로 추출 (구문 분석)
- 9. 부분 문자열을 구문 분석 하시겠습니까?
- 10. CE에서 XAML 구문 분석 오류 위치 결정
- 11. 요소에 붙어있는 특성으로 인해 XML을 구문 분석 할 수 없음
- 12. datetime 객체에 날짜가있는 문자열을 구문 분석
- 13. JSON 문자열을 객체가 아닌 배열로 구문 분석
- 14. 객관적인 C 객체의 문자열을 구문 분석
- 15. SQL 서버 문자열을 하위 문자열로 구문 분석
- 16. URL 문자열을 트리 구조로 구문 분석
- 17. CSS 문자열을 JavaScript의 RegEx로 구문 분석
- 18. PHP로 텍스트 파일의 문자열을 구문 분석
- 19. Access 데이터 값과 시간 문자열을 구문 분석
- 20. PHP에서 문자열을 부울 값으로 구문 분석
- 21. 셰어이 공식 목록에 내가 계산 필드를 수동 구문 분석
- 22. 스탠포드 NLP 툴킷 구문 분석 -Help 나 수동
- 23. 구문 분석/구문 분석이란 무엇입니까?
- 24. 프리즘의 ItemsControl에 xaml 구문 분석 오류가있는 것 같습니다. 왜?
- 25. 구문 분석 오류 : 구문 오류
- 26. android에서 구문 분석 문제
- 27. 루비 구문 분석 문자열
- 28. PHP 문자열 구문 분석
- 29. 구문 분석 정의 인수 "-"
- 30. Drupal String 구문 분석
네, 어떻게 이런 일을하는 겁니까? 그러나 XamlReader가 항상 TypeConverters를 사용하여 문자열을 구문 분석하지는 않는 것으로 나타났습니다. 따라서 XamlReader는 typeconverters와 별도로 구문 분석을위한 좀 더 많은 논리를 가져야합니다. 내 질문은 API로 어딘가에 노출 된 것인가? – bitbonk