2016-04-17 7 views
1

こんにちは私はWindows Phone 8.1でlistviewに列を追加するのに苦労しています。私は2列が必要です: 列1 =項目 列2 =数量Windowsのリストビューに列を追加する方法電話機8.1、C#?

私はリストビューに項目を追加することができましたが、2番目の項目は次の行に行きます。私は両方の項目を同じ行に表示したいので、2番目の項目は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); 



    } 

答えて

1
<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> 
+0

こんにちは、私は次のエラーを取得する、「リソース 『itemViewSource』 XAMLでは解決できませんでした。 – samuel

+0

これは、変数title、subtitle、およびdescriptionを含むソースオブジェクトです。 ソースオブジェクトは、アイテムと数量を含むオブジェクトです –

0

は、次の2つのプロパティを含むオブジェクトを作成する必要があります:

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); 
} 

次に、y OUは、単にあなたの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

関連する問題