Я бы хотел установить высоту моего элемента управления WPF в процентах от его ширины.
Я знаю, что Dev Express делает это простым благодаря DXBinding.
<Button Height="{DXBinding '@Self.ActualWidth*.65'}" />
Что лучший способ добиться этого в ванильном WPF? Одна мысль у меня была в том, чтобы использовать конвертер.
Мне нужно иметь возможность передавать ширину и целочисленное значение элемента управления (для масштабирования) в качестве параметров. Как будет выглядеть мое определение XAML?
XAML
<Button Height="{Binding Path=MyWidth, Mode=OneWay,
Converter={StaticResource MyConverter},
ConverterParameter=65}" />
Код позади
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
string parameterString = parameter as string;
// value - contains the width of the control
// parameter contains the desired scale percentage
}
Это жизнеспособно? Есть ли лучший / более чистый способ сделать это?
Спасибо, JohnB