如何在调整父用户控件的大小时调整所有用户控件的大小

时间:2010-11-09 19:37:36

标签: wpf

如何在调整父用户控件的大小时调整所有用户控件的大小

应用程序有一个父用户控件,可以调整大小以使其变小和变大。 现在,但同一个用户控件有3/4多个用户控件。两个用户控件没有固定大小,但它们动态地进行一些绘制。

1 个答案:

答案 0 :(得分:1)

以百分比形式指定尺寸,而不是硬编码。

一种简单的方法是创建一个转换器,它将父级大小作为绑定,并以百分比值作为参数。

例如,转换器将是这样的:

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>