#silverlight #xaml #windows-phone-7 #dockpanel
#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>
Но если я хочу, чтобы кнопки dock таким образом размещались в 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:
Добавьте это внутри тега для listbox:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment"
Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>