我正在爲Windows Phone 8(silverlight)創建應用程序。我想在列表框的兩列中顯示數據。我使用this method。在這篇文章中是一個用代碼演示的項目。下面是輸出的基本代碼:ListBoxItem不在ListBox中伸展
<ListBox x:Name="ItemsListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<ItemsControl ItemTemplate="{StaticResource ItemDataTemplate}" ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</ListBox.ItemTemplate>
它的工作原理,但數據不伸展,向右是自由空間。
我已經嘗試了許多選項
<ListBox...>
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.Resources>
....
插入的HorizontalAlignment = 「拉伸」
,但他們沒有工作。告訴我如何擴展數據寬度?我需要讓每列佔據總寬度的一半。
這是代碼我的DataTemplate
<DataTemplate x:Key="ItemDataTemplate" >
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="1" Margin="5" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Name}" />
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding AddInfo}" />
</Grid>
</Button>
</Grid>
</DataTemplate>
我嘗試 <工具箱:WrapPanel方向=「橫向」的HorizontalAlignment =「拉伸」 /> 但這行不通 - 右邊是自由空間 – FetFrumos 2014-10-22 13:14:55
@EugenePodskal'UniformGrid'不存在Silverl ight/WP – McGarnagle 2014-10-22 17:34:15
你也可以發佈你的「ItemDataTemplate」的標記嗎?我們需要看看你如何設置它。 – McGarnagle 2014-10-22 17:35:25