2
爲每個用戶控件的大小,默認單位是像素,但它可以很容易地大小設置爲不同的單位,例如:如何比PX不同的單位大小屬性綁定?
<Canvas Height="29.7cm" Width="21cm" />
但我應該怎麼做,如果我要綁定這些屬性?我如何保留關於我所需單位的信息?
爲每個用戶控件的大小,默認單位是像素,但它可以很容易地大小設置爲不同的單位,例如:如何比PX不同的單位大小屬性綁定?
<Canvas Height="29.7cm" Width="21cm" />
但我應該怎麼做,如果我要綁定這些屬性?我如何保留關於我所需單位的信息?
您可以創建自定義converter其將字符串表示的兩倍(使用LengthConverter):
[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
和Width
在你Canvas
的DataContext
strings
可用。)
也許看看描述在這個答案]的方法(http://stackoverflow.com/a/9508847/1834662) – Viv 2014-08-27 13:50:17