우연의 일치, 오늘 나는 이것을해야만했다. 자격을 얻은 복식은 당신이 그것을주는 단위에 기초한 요인 전환을 거치지 만, LengthConverter
의 일부로 끝납니다.
LengthConverter lc = new LengthConverter();
string qualifiedDouble = "10pt";
double converted = lc.ConvertFrom(qualifiedDouble);
대체는 :
double original = 10.0;
double converted = original * 1.333333333; // px-to-pt conversion
이 예를 들어, 13.3333333으로 "는 10pt"를 변형시킬 것이다. 기사에서 제공하는 전환 요소를 사용할 수도 있지만 요소가 클래스에 내장되어 있기 때문에 위의 내용을 사용하는 것을 선호합니다.
편집 : 응답에서는
문자열 변환이 의도 된 것에 대해 완벽한 의미가 있습니다 ... 문자열에 대해 언급합니다. XAML은 C#이나 VB보다 XAML에서 표현하기가 훨씬 쉽기 때문에 XAML을 사용합니다. XAML에서 모든 값은 문자열이므로 문자열을 대상 유형으로 변환하려면 TypeConverter
이 자동으로 선택되어 있어야합니다. 예를 들어 FontSizeConverter
은 LengthConverter
에 내부 정적 메서드를 호출합니다. (대신 FontSizeConverter
을 인스턴스화 할 수도 있습니다.) 또한 "4 *"와 같은 GridLength
및 "자동"과 같은 Width
과 같은 변환기도 있습니다. 또는 말했듯이, 당신은 문자열없이 변환 할 당신 자신의 클래스를 만들 수 있습니다.
This article은 코드 숨김을 위해 요소를 직접 사용하도록 권장하므로 위의 대체 예제를 제공했습니다.
조금 더 많은 정보와 "10px"로 내 대답을 편집했습니다. –