0

現在のセルの幅全体を取得しようとしているので、そのセルの特定の割合の幅で四角形を描画できます。ここで提案されているように、幅プロパティを複数回設定するためにバインドできませんでした。そこで私の次の試みは、UtilPct を使用してグリッドをコンバーターに渡し、(最初の列の) 150 を減算して、幅を返すことでした。ただし、グリッドには幅がありません。Snoop で NaN と表示され、実際の幅は 0 ですか?

四角形の幅を調整できるように、実際に計算されたセルの幅を取得する最良の方法は何ですか? 他のアプローチがある場合は、助けていただければ幸いです。

XAML:

<ItemsControl x:Name="icBrokerCreditList" Grid.Row="1" Grid.Column="1" ItemsSource="{Binding Path=BrokerCreditList}" HorizontalAlignment="Stretch">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid HorizontalAlignment="Stretch" x:Name="brokerGrid">
                <Grid.RowDefinitions>
                    <RowDefinition Height="20"></RowDefinition>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="150"></ColumnDefinition>
                    <ColumnDefinition x:Name="utilCol" Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Row="0" Grid.Column="0" Background="White" Foreground="Black" FontSize="12" Text="{Binding Path=BrokerName}"></TextBlock>
                    <Rectangle Fill="Green" Height="20" Grid.Row="0" Grid.Column="1">
                        <Rectangle.Width>
                            <MultiBinding Converter="{StaticResource PercentageConverter}">
                                <Binding Path="ActualWidth" ElementName="utilCol" />
                                <Binding Path="UtilPct" />
                            </MultiBinding>
                        </Rectangle.Width>
                    </Rectangle>
                </TextBlock>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
4

1 に答える 1