2
의 기본 단위는 픽셀이지만, 예를 들어, 쉽게 다른 장치에 크기를 설정할 수 있습니다 :크기 속성을 px와 다른 단위로 바인딩하는 방법은 무엇입니까? 모든 사용자 컨트롤의 크기
<Canvas Height="29.7cm" Width="21cm" />
하지만이 바인딩하려면 어떻게해야합니까 속성? 원하는 유닛에 대한 정보를 어떻게 보관합니까?
[ValueConversion(typeof(string), typeof(double))]
public class SizeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
double size = (double)new LengthConverter().ConvertFrom(value.ToString());
return size;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException("SizeConverter is a oneway converter.")
}
}
당신이 당신의 XAML에서 해당 계산기를 참조 할 수 후 :
<src:SizeConverter x:Key="sizeConverter"/>
<Canvas Height="{Binding Path=Height, Converter={StaticResource sizeConverter}}"
Width="{Binding Path=Width, Converter={StaticResource sizeConverter}}" />
을 (여기 Height
을
어쩌면 [이 답변] (http://stackoverflow.com/a/9508847/1834662)에 설명 된 접근법을 살펴보십시오. – Viv