簡體   English   中英

如何在 windows phone 8.1,c# 中向列表視圖添加列?

[英]How to add columns to listview in windows phone 8.1,c#?

嗨,我正在努力向 Windows Phone 8.1 中的列表視圖添加列。 我想要 2 列:第 1 列 = 項目第 2 列 = 數量

我設法將一個項目添加到列表視圖,但第二個項目轉到下一行。 我希望這兩個項目都顯示在同一行上,所以第二個項目應該顯示在第二列中。

這是我的代碼

   protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        var listViewItem = (new ListViewItem { Content ="Vanilla"});
        var listViewItem2 = (new ListViewItem {Content ="1"});

        listView.Items.Add(listViewItem);
        listView.Items.Add(listViewItem2);



    }
<ListView x:Name="itemListView"
          Margin="120,0,0,60"
          ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
          SelectionChanged="ItemListView_SelectionChanged">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid Height="110" Margin="6">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
                    <Image Source="{Binding Image}" Stretch="UniformToFill"/>
                </Border>
                <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
                    <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
                    <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
                    <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
                </StackPanel>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>          
</ListView>

在我看來,您應該創建一個包含兩個屬性的對象:

public class ListViewItem 
{
    public int Index { get; set; }

    public string Name { get; set; }
}

然后將您想要的對象分配給 ListView:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    var listViewItem = new ListViewItem { Name= "Vanilla", Index = 1 };

    listView.Items.Add(listViewItem);
}

然后你可以簡單地為你的 ListView 創建一個 ItemTemplate:

<ListView.ItemTemplate>
    <DataTemplate>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0" Text="{Binding Index}"/>
                <TextBlock Grid.Column="1" Text="{Binding Name}"/>
        </Grid>
    </DataTemplate>
</ListView.ItemTemplate>    

我是即時寫的,所以可能會有一些語法錯誤:P

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM