DockPanel не использует все пространство в ListBox, но вне - PullRequest
1 голос
/ 10 ноября 2011

В моем приложении для Windows Phone я использую DockPanel для выравнивания двух кнопок: одна на левой стороне экрана (PanoramaItem), вторая - на правой. Этот код хорошо работает:

<controls:PanoramaItem Header="page1">
   <panel:DockPanel>
      <Button  Content="Right"  panel:DockPanel.Dock="Right"/>
      <Button  Content="Left"  panel:DockPanel.Dock="Left"/>
   </panel:DockPanel>
</controls:PanoramaItem>

Но если я хочу, чтобы кнопки ListBox были закреплены таким же образом в обеих окнах - обе выровнены по левому краю: (

<controls:PanoramaItem Header="page2">
   <ListBox Margin="0,0,-12,0" HorizontalContentAlignment="Stretch" 
        ItemsSource="{Binding Collection}" Height="418" VerticalAlignment="Top">
     <ListBox.ItemTemplate>
        <DataTemplate>
           <panel:DockPanel >
              <Button  Content="Right"  panel:DockPanel.Dock="Right"/>
              <Button  Content="Left"  panel:DockPanel.Dock="Left"/>
           </panel:DockPanel>
        </DataTemplate>
     </ListBox.ItemTemplate>
  </ListBox>
</controls:PanoramaItem>

1 Ответ

1 голос
/ 10 ноября 2011

Добавьте это внутри тега для списка:

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment"
                Value="Stretch" />
    </Style>
</ListBox.ItemContainerStyle>
...