2016-04-17 8 views
1

Hallo, ich habe Schwierigkeiten, Spalten zu Listview in Windows Phone 8.1 hinzufügen. Ich möchte 2 Spalten: Spalte 1 = Artikel Spalte 2 = MengeWie fügt man Spalten zur Listenansicht in Windows Phone 8.1, C#?

Ich habe es geschafft, ein Element zu einer Listview hinzufügen, aber das zweite Element geht in die nächste Zeile. Ich möchte, dass beide Elemente in derselben Zeile angezeigt werden. Daher sollte das zweite Element in einer zweiten Spalte angezeigt werden.

Hier ist mein Code

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



    } 

Antwort

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

Hallo, ich bekomme die folgende Fehlermeldung: „Die Ressource "itemViewSource" konnte nicht aufgelöst werden ", im XAML. – samuel

+0

Dies ist das Quellobjekt, das die Variablen Titel, Untertitel und Beschreibung enthält. In Ihrem Fall ist das Quellobjekt ein Objekt, das Element und Menge enthält –

0

Meiner Meinung nach sollten Sie ein Objekt erstellen, das zwei Eigenschaften enthält:

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

    public string Name { get; set; } 
} 

Dann ein Objekt zuweisen (s), die Sie Ihre Listview wollen :

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

    listView.Items.Add(listViewItem); 
} 

Dann y ou kann einfach eine ItemTemplate für Ihre Listview erstellen:

<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>  

ich diese on the fly schrieb, so könnte es einige Syntaxfehler sein: P