Как изменить размер всего пользовательского элемента управления при изменении размера родительского элемента управления - PullRequest
0 голосов
/ 09 ноября 2010

Как изменить размер всего пользовательского элемента управления при изменении размера родительского элемента управления

Приложение имеет один родительский элемент управления, размер которого можно изменить, чтобы сделать его маленьким и большим.сейчас, но тот же пользовательский элемент управления имеет на 3/4 больше пользовательского элемента управления.Два пользовательских элемента управления не имеют фиксированного размера, но они динамически делают некоторые рисунки.

1 Ответ

1 голос
/ 09 ноября 2010

Укажите размеры в процентах вместо их жесткого кодирования.

Простой способ сделать это - создать конвертер, который принимает родительский размер в качестве привязки и имеет значение процента в качестве параметра.

Например, конвертер будет выглядеть примерно так:

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>     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...