如何在调整父用户控件的大小时调整所有用户控件的大小
应用程序有一个父用户控件,可以调整大小以使其变小和变大。 现在,但同一个用户控件有3/4多个用户控件。两个用户控件没有固定大小,但它们动态地进行一些绘制。
答案 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>