绑定转换器和多重绑定

时间:2008-11-27 11:48:46

标签: wpf

我想创建堆叠成一行的4个矩形。

| ---- | - | ------ | ------------ |

每个矩形的宽度都绑定为%。

我决定将矩形分组到水平StackPanel。要计算我想要写入转换器的矩形的宽度。

我不知道如何创建必须绑定到的转换器: - 价值% 我想将父级的宽度传递给converter参数。

如何编写参数将其绑定到父级的宽度?

感谢您的回答。

1 个答案:

答案 0 :(得分:2)

摆脱StackPanel并放置一行和一列的Grid,这样就可以了。您可以调整控件的大小,它将正常运行。波纹代码ColumnDefinition Width实际上是百分比值。例如,第一个矩形波纹管占总宽度的20%,因为ColumnDefinition在该列上设置了0.2 *。

   <Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0.2*"/>
        <ColumnDefinition Width="0.1*"/>
        <ColumnDefinition Width="0.25*"/>
        <ColumnDefinition Width="0.45*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition /> 
    </Grid.RowDefinitions>

    <Rectangle Grid.Column="0" Fill="Black" Stroke="White" StrokeThickness="1"/>
    <Rectangle Grid.Column="1" Fill="Black" Stroke="White" StrokeThickness="1"/>
    <Rectangle Grid.Column="2" Fill="Black" Stroke="White" StrokeThickness="1"/>
    <Rectangle Grid.Column="3" Fill="Black" Stroke="White" StrokeThickness="1"/>
</Grid>