DockPanel不使用ListBox中的整个空间,但在它之外

时间:2011-11-09 21:24:15

标签: silverlight xaml windows-phone-7 dockpanel

在我的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 个答案:

答案 0 :(得分:1)

在标签列表框中添加:

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