2014-09-04 8 views
1

У меня есть дизайн, как показано ниже.Проблема с расширением группового поля в wpf

<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> 

Когда я моя stackpane растяжения, мой GroupBox не получает streched.How я могу достичь it.I попыталась с помощью HorizontalAligment = "Strech" verticalAligment = "растяжимый" свойства, но он не работал

+0

У вас есть высота/ширина, определенный в DefaultGroupBoxStyle? –

+0

No.Height & width не определен для DefaultGroupBoxStyle – nks

ответ

1

Это распространенная проблема, возникающая при использовании разработчиками StackPanel. Это Panel делает не выполняет действия по изменению размера, как некоторые другие Panel s в WPF. Чтобы исправить проблему, просто замените StackPanel на Grid или другие Panel, которые делает.

Вы можете узнать больше о различных Panel s и их различных стратегиях изменения размера с страницы Panels Overview на MSDN.


UPDATE >>>

В Мой RowDefinition Высота в данный 145, что вызывает проблемы?

Я себе так ... любые Height s или Width s, установленные на GroupBox или любой из его родительских контролей остановит его от растягивания до полной Height или Width приложения. Посмотрите на этот пример, который демонстрирует различия между StackPanel и Grid:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 
    <StackPanel Grid.Row="0" Background="Red"> 
     <GroupBox Background="LightGreen"> 
      <GroupBox.Header>Some Header</GroupBox.Header> 
      <TextBlock Text="Some Content" FontSize="50" HorizontalAlignment="Center"/> 
     </GroupBox> 
    </StackPanel> 
    <GroupBox Grid.Row="1" Background="LightGreen"> 
     <GroupBox.Header>Some Header</GroupBox.Header> 
     <TextBlock Text="Some Content" FontSize="50" HorizontalAlignment="Center" /> 
    </GroupBox> 
</Grid> 
+0

Я поменял его на докпансер, но он не работал. – nks

+0

In My RowDefinition Height в данном 145, является ли причиной проблемы? – nks

+0

Я попробовал ваш образец выше. Панель прокрутки не отображается, когда я ее удаляю – nks

Смежные вопросы