有关在wpf中拉伸组框的问题

时间:2014-09-04 07:18:57

标签: wpf xaml stackpanel groupbox

我的设计如下。

<Dock:ContentPane x:Name="grouping" Header="{lex:LocText Res:Titles:CustomFields}"  
                    Visibility="{Binding ShowGroups, Converter={StaticResource VisibilityCollapseIfFalse}, Source={x:Static Management:UserPreferencesManager.Instance}}" >
    <ScrollViewer Style="{DynamicResource VerticalScrollViewerStyle}" >
        <DockPanel Style="{DynamicResource DefaultPanelStyle}" >
            <SKUL:CustomFields />
            <SKUL:CustomFieldsPortrait Windows:OrientationMonitor.HorizontalVisibility="Collapsed" />
        </DockPanel>
    </ScrollViewer>
</Dock:ContentPane>   

我的CustomeFields.xaml

<Expander IsExpanded="{Binding ExpanderSetting}">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>                    
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <GroupBox Style="{DynamicResource DefaultGroupBoxStyle}" Header="{lex:LocText Res:Titles:ItembyLocationGroups}" >
            <Common:CustomFields DataContext="{Binding Grouping.SKULGroups}" IsReadOnly="True" />
        </GroupBox>
    </Grid>
</Expander>  

当我拉伸我的堆栈窗格时,我的组合框没有得到拉伸。我怎么能实现它。我尝试使用Horizo​​ntalAligment =&#34; strech&#34; verticalAligment =&#34; STRECH&#34;属性,但它没有工作

1 个答案:

答案 0 :(得分:1)

这是开发人员使用StackPanel时常见的问题。这个Panel 执行调整大小操作,就像WPF中的其他Panel一样。要解决此问题,只需将StackPanel替换为Grid或其他Panel 为儿童调整大小的功能。

您可以在MSDN上的Panels Overview页面上找到有关不同Panel及其不同大小调整策略的更多信息。


更新&gt;&gt;&gt;

  

在给定的145中的我的行定义高度中,是否会导致问题?

我想是这样的......你在Height或其任何父控件上设置的任何WidthGroupBox都会阻止它延伸到完整{{1}应用程序的{}或Height。请查看此示例,该示例演示了WidthStackPanel

之间的差异
Grid