首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF - IsSharedSizeScope "true“和三列的宽度问题

WPF - IsSharedSizeScope "true“和三列的宽度问题
EN

Stack Overflow用户
提问于 2014-06-29 11:48:35
回答 1查看 1.6K关注 0票数 0

简单代码:

代码语言:javascript
复制
<ItemsControl Grid.IsSharedSizeScope="True" >
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="firstColumn" Width="Auto"/>
                    <ColumnDefinition SharedSizeGroup="splitterColumn" Width="Auto"/>
                    <ColumnDefinition SharedSizeGroup="lastColumn" Width="*"/>
                </Grid.ColumnDefinitions>
                <TextBlock Text="{Binding Path=Key}"/>
                <GridSplitter Width="5" Grid.Column="1" />
                <TextBlock Text="{Binding Path=Value}" Grid.Column="2"/>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

lastColumn存在问题,其width不是100%。我试图为所有网格设置HorizontalAlignment="Stretch",但这没有帮助。

lastColumn的宽度必须是100%。如何解决这一问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-29 13:10:24

您不需要在每一列中都包括SharedSizeGroup。在这种情况下,如果您的第一列和第二列共享一个大小,您应该能够通过省略最后一列上的属性来获得您想要的行为。如果前两列共享大小,则最后一列的空间应该总是相同的:

代码语言:javascript
复制
<Grid Width="300" Height="30" Background="Red">
    <Grid Grid.IsSharedSizeScope="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition SharedSizeGroup="firstColumn" Width="Auto"/>
            <ColumnDefinition SharedSizeGroup="splitterColumn" Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBox Text="1" Grid.Column="0"/>
        <GridSplitter Width="5" Grid.Column="1"/>
        <TextBox Text="Test" Grid.Column="2" />
    </Grid>
</Grid>

编辑:这本质上就是这里遇到的问题: columns in WPF Grid

进一步编辑:您现在已经更改为ItemsControl,但同样的情况仍然适用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24475800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档