举个简单的例子:
<Grid>
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate >
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*" />
<ColumnDefinition Width="0.5*" />
</Grid.ColumnDefinitions>
<TextBlock Text="FIRST TEXT" />
<TextBlock Grid.Column="1" Text="SECOND TEXT" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
a
a
</ListBox>
</Grid>
据我所知,这应该在应用程序屏幕的左半部分显示第一个文本,在右半部分显示第二个文本。
取而代之的是,这两个文本是一个接一个。好像网格认为所有可用空间都是文本使用的空间。也许我需要更改列表框面板上的某些内容?
编辑:我试过这个:
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid>
<ContentPresenter HorizontalAlignment="Stretch" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
即使它有效,它也破坏了 listboxitem 的选定功能:(
顺便说一句,我正在使用 Windows pone 8