2010-11-09 71 views
0

如何調整所有的用戶控制,當父用戶控制調整如何調整所有的用戶控制,當父用戶控制調整

應用都有一個父用戶控件,它可以調整大小,使之大還是小。 現在,但相同的用戶控件具有3/4以上的用戶控件。兩個用戶控件的大小沒有固定,但是它們是動態地繪製的。

回答

1

在百分比中指定大小,而不是硬編碼它們。

一個簡單的方法是創建一個Converter,它將父大小作爲綁定並將百分比值作爲參數。

例如,轉換器將是這樣的:

public class PercentToDoubleConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     double size = (double)value; 
     double percent = (parameter == null ? 0.00 : System.Convert.ToDouble(parameter)); 
     return percent * size; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 

而XAML會說這樣的事情:

<UserControl x:Name=RootControl> 
    <Button Height="{Binding ElementName=RootControl, Path=Height, 
      Converter={StaticResource MyPercentToDoubleConverter}, ConverterParameter=.2}" /> 
</UserControl>