为Stack Panel中的控件赋予相同的宽度

时间:2013-06-03 15:01:28

标签: wpf silverlight windows-8 stackpanel

我需要在水平RadChart内有两个StackPanel s,并希望两个图表的宽度相等。我不想给图表的宽度明确的长度。这可以通过使用Grid控件轻松实现,但我的方案需要StackPanel

2 个答案:

答案 0 :(得分:12)

文档通常不易理解,因为它要么以令人困惑的方式编写,要么所需的信息隐藏在大量其他信息中,而这些信息对特定情况没有帮助。因此,在我看来,即使它是一个“基本的东西”,给出一个快速答案也没有坏处(或者如果有人认为它太原始,他/她应该根本不发布任何内容)。

        <StackPanel Orientation="Horizontal" Grid.IsSharedSizeScope="True">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="MySizeGroup" />
                </Grid.ColumnDefinitions>
                <Button Height="23" Content="Reset" Padding="5,1" />
            </Grid>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="MySizeGroup" />
                </Grid.ColumnDefinitions>
                <Button Height="23" Content="Set" Padding="5,1" />
            </Grid>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="MySizeGroup" />
                </Grid.ColumnDefinitions>
                <Button Height="23" Content="Import" Padding="5,1" />
            </Grid>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="MySizeGroup" />
                </Grid.ColumnDefinitions>
                <Button Height="23" Content="Export" Padding="5,1" />
            </Grid>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="MySizeGroup" />
                </Grid.ColumnDefinitions>
                <Button Height="23" Content="Create new" Padding="5,1" />
            </Grid>
        </StackPanel>

希望这会有所帮助:)

答案 1 :(得分:4)

将它们放入单独的Grids,使用包含公共SharedSizeGroup的列,并在true上将Grid.IsSharedSizeScope设置为StackPanel