Windows phone 8 如何在XAML中设计ListBox中的多列

Windows phone 8 如何在XAML中设计ListBox中的多列,windows-phone-8,windows-runtime,Windows Phone 8,Windows Runtime,我需要在列表框的底部有多列、2个按钮和一行,例如: 项目1项目2项目3项目4按钮1按钮2 ----------------------------------------------------- -- Update <ListBox HorizontalAlignment="Left" VerticalAlignment="Top" Margin="700,210,0,0" Name="listBox1" Width="650" Height="532" ScrollViewer

我需要在列表框的底部有多列、2个按钮和一行,例如:

项目1项目2项目3项目4按钮1按钮2
-----------------------------------------------------

-- Update
<ListBox HorizontalAlignment="Left" VerticalAlignment="Top" Margin="700,210,0,0" Name="listBox1" Width="650" Height="532" ScrollViewer.VerticalScrollBarVisibility="Auto"> <ListBox.ItemTemplate> <DataTemplate> <Grid Width="650"> <Grid.ColumnDefinitions> <ColumnDefinition Width="80"> <ColumnDefinition Width="*"> <ColumnDefinition Width="*"> <ColumnDefinition Width="*"> <ColumnDefinition Width="*"> </Grid.ColumnDefinitions> <StackPanel> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Item code"/> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Description" TextWrapping="Wrap"/> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Unit Price"/> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Amount"/> </StackPanel> <TextBlock Margin="3,3,10,0" FontSize="22" FontWeight="SemiBold" Foreground="DarkBlue" Text="{Binding No}" Grid.Column="0" /> <TextBlock Margin="8,3,10,0" FontSize="22" Foreground="DarkBlue" Text="{Binding Description}" TextWrapping="Wrap" Grid.Column="1" /> <TextBlock Margin="8,3,10,0" FontSize="22" Foreground="DarkBlue" Text="{Binding UnitPrice}" TextWrapping="Wrap" Grid.Column="2" /> <TextBlock Margin="8,3,10,0" FontSize="22" Foreground="DarkBlue" Text="{Binding LineAmount}" TextWrapping="Wrap" Grid.Column="3" /> <Button x:Name="btnTransEdit" Margin="20,3,0,0" Content="Edit" FontSize="23" HorizontalAlignment="Left" VerticalAlignment="Top" Height="59" Width="130" Grid.Column="4" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> 谢谢

------更新

有一行显示每列的标题

标题1标题2标题3标题4

项目1项目2项目3项目4按钮1按钮2
-----------------------------------------------------

-- Update
<ListBox HorizontalAlignment="Left" VerticalAlignment="Top" Margin="700,210,0,0" Name="listBox1" Width="650" Height="532" ScrollViewer.VerticalScrollBarVisibility="Auto"> <ListBox.ItemTemplate> <DataTemplate> <Grid Width="650"> <Grid.ColumnDefinitions> <ColumnDefinition Width="80"> <ColumnDefinition Width="*"> <ColumnDefinition Width="*"> <ColumnDefinition Width="*"> <ColumnDefinition Width="*"> </Grid.ColumnDefinitions> <StackPanel> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Item code"/> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Description" TextWrapping="Wrap"/> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Unit Price"/> <TextBlock Margin="8,3,0,0" FontSize="22" Foreground="DarkGray" Text="Amount"/> </StackPanel> <TextBlock Margin="3,3,10,0" FontSize="22" FontWeight="SemiBold" Foreground="DarkBlue" Text="{Binding No}" Grid.Column="0" /> <TextBlock Margin="8,3,10,0" FontSize="22" Foreground="DarkBlue" Text="{Binding Description}" TextWrapping="Wrap" Grid.Column="1" /> <TextBlock Margin="8,3,10,0" FontSize="22" Foreground="DarkBlue" Text="{Binding UnitPrice}" TextWrapping="Wrap" Grid.Column="2" /> <TextBlock Margin="8,3,10,0" FontSize="22" Foreground="DarkBlue" Text="{Binding LineAmount}" TextWrapping="Wrap" Grid.Column="3" /> <Button x:Name="btnTransEdit" Margin="20,3,0,0" Content="Edit" FontSize="23" HorizontalAlignment="Left" VerticalAlignment="Top" Height="59" Width="130" Grid.Column="4" /> </Grid> </DataTemplate> </ListBox.ItemTemplate> --更新

如果使用
LongListSelector
而不是
ListBox
,则可以非常轻松地完成此操作

<phone:LongListSelector ItemsSource="{Binding Items}">
    <phone:LongListSelector.ListHeader>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <TextBlock Text="Item code" Grid.Column="0" TextWrapping="Wrap" />
            <TextBlock Text="Desc" Grid.Column="1" TextWrapping="Wrap" />
            <TextBlock Text="Unit Price" Grid.Column="2" TextWrapping="Wrap" />
            <TextBlock Text="Amount" Grid.Column="3" />
        </Grid>
    </phone:LongListSelector.ListHeader>

    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <TextBlock Text="{Binding No}" Grid.Column="0" TextWrapping="Wrap" />
                <TextBlock Text="{Binding Description}" Grid.Column="1" TextWrapping="Wrap" />
                <TextBlock Text="{Binding UnitPrice}" Grid.Column="2" TextWrapping="Wrap" />
                <TextBlock Text="{Binding LineAmount}" Grid.Column="3" TextWrapping="Wrap" />

                <Button Content="Edit" Grid.Column="4" />
                <Button Content="Delete" Grid.Column="5" />
            </Grid>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>

    <phone:LongListSelector.ListFooter>
        <Grid Background="white" Height="2" Margin="0,12" />
    </phone:LongListSelector.ListFooter>
</phone:LongListSelector>


看看数据网格。它就像一个包含多个列和行的表。您想要选择还是只想以表格的方式显示数据?@Xyroid,如上所述进行更新。描述每列标题的行。第1项到第4项,我将分别绑定它们。