1

この質問に基づいていますが、少し異なります。

これが可能かどうかはわかりません。UI 要素の幅を別の要素の幅のパーセンテージにリンクする方法はありますか?

例えば:

<ScrollViewer x:Name="scrollviewerWrapper">

     <TextBlock x:Name="textblock" 
                Width="{Binding Path=Width, [[[ % of ]]] ElementName=scrollviewerWrapper}" />

</ScrollViewer>

したがって、私の ScrollViewer が 100px の場合、TextBlock をその 60% = 60px (スクロール ビューアーの幅は動的) にする必要があります。

4

1 に答える 1

3

そのため、コンバーターを使用して数値を渡すことになりました。パーセンテージの代わりに、残りの合計から固定幅を差し引いたものに行ったと考えてください。そのための数値があったからです。

XAML:

Width="{Binding Path=ActualWidth, ElementName=exampleElement, Converter={StaticResource MyConverter}, ConverterParameter={StaticResource ResourceKey=actionAreaWidth}}">

パラメータ変換:

<clr:Double x:Key="actionAreaWidth">150</clr:Double>

そしてコンバーター自体:

 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {

            double percentage = 100;
            double.TryParse(parameter.ToString(), out percentage);

            var actualWidth = (double)value;
            return actualWidth * (percentage / 100);
        }
于 2013-04-10T03:31:04.547 に答える