1 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
我不確定這是否是您想要的,但是Height使用 Window 使 MaxHeight 動(dòng)態(tài)化的一種方法是使用RelativeSource. 讓我解釋?zhuān)?/p>
在您的Grid中,您將 設(shè)置MaxHeight為ActualHeight窗口的。為此,您只需要綁定
MaxHeigth = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=ActualHeight}"
現(xiàn)在,這不是一個(gè)很好的解決方案,因?yàn)榇翱趦?nèi)有邊距、填充和更多項(xiàng)目。所以你想要的是Grid使ActualHeight. 因此,您需要一個(gè)Converter。
我已經(jīng)為您制作了這個(gè),它會(huì)返回一定百分比的價(jià)值。
public class SizePercentageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return 0:
if (parameter == null)
return (double)value;
var split = parameter.ToString().Split('.');
var parameterDouble = double.Parse(split[0]) + double.Parse(split[1]) / Math.Pow(10, split[1].Length);
return (double)value * parameterDouble;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
// Don't need to implement this
return null;
}
在ResourceDictionary中定義它之后
<converters:SizePercentageConverter x:Key="PercentageConverter" />
你可以在你的MaxHeight. 例如,如果你希望它是的70%,ActualHeight你只需要寫(xiě)
MaxHeight = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=ActualHeight, Converter={StaticResource PercentageConverter}, ConverterParameter=0.7}"
否則,如果您還可以創(chuàng)建一個(gè)減去一個(gè)值的轉(zhuǎn)換器。例如,一旦綁定它就返回ActualHeight- parameter。
我希望這會(huì)有所幫助,并讓我知道進(jìn)展情況。
- 1 回答
- 0 關(guān)注
- 86 瀏覽
添加回答
舉報(bào)