2017-01-06 4 views
0

Ich habe eine ListBox, eine Show Button, und eine TextBlock in meiner Windows Phone-Anwendung.ListBox-Elemente eins nach dem anderen anzeigen (Windows Phone)

Jedes Mal, wenn der Benutzer klickt auf der Karte Button, wurde ein Teil aus den ListBox sollte in TextBlock gezeigt. Wenn der Benutzer erneut auf Anzeigen Button klickt, sollte das nächste Element angezeigt werden.

XAML

<ListBox x:Name="FavoriteListBox" 
     SelectionChanged="FavoriteListBox_SelectionChanged"       
     ItemContainerStyle="{StaticResource CustomListBoxItemStyle}" 
     Height="300" Width="250"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock x:Name="FavoriteListBoxTextBlock" 
         FontSize="40" FontWeight="SemiBold" 
         Text="{Binding AnswerName}"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

<TextBlock x:Name="DisplayTextBlock"/> 

<Button x:Name="ShowButton" Click="ShowButton_Click"/> 

C#

private void ShowButton_Click(object sender, EventArgs e) 
{ 
    if(FavoriteListBox != null) 
    { 
      // ?????? 
    } 
} 

Wie eine solche Funktionalität erreichen können?

+0

hey! Es gibt eine Antwort, die jetzt nicht sichtbar ist, aber nicht funktioniert int currentListIndex = 0; if (FavoriteListBox.Items.Count <= currentListIndex) { DisplayTextBlock.Text = FavoriteListBox.Items [currentListIndex ++]. ToString(); } sonst { currentListIndex = 0; DisplayTextBlock.Text = FavoriteListBox.Items [0] .ToString(); } –

Antwort

1

Dies kann sehr einfach mit Indizes direkt verwendet werden.

die Liste Angenommen, Sie für die ListBox Elemente verwenden wird listobj genannt, dann können Sie Folgendes verwenden:

private int _displayedFavoriteIndex = -1; 

private void ShowButton_Click(object sender, EventArgs e) 
{ 
    //move to the next item 
    _displayedFavoriteIndex++;     
    if (_displayedFavoriteIndex >= listobj.Count ) 
    { 
     //we have reached the end of the list 
        _displayedFavoriteIndex = 0; 
    } 
    //show the item 
    DisplayTextBlock.Text = listobj[ _displayedFavoriteIndex ].AnswerName; 
} 

Hinweis Sie müssen wird nicht prüfen, ob FavoriteListBox ist null, weil eine solche Situation nie passieren - alle Steuerelemente werden mit dem InitializeComponent Aufruf im Konstruktor initialisiert.

+0

Wow! Deine Antworten funktionieren immer ............. :) –

+0

Gut zu helfen :-) –

+0

Okay Deine Anmerkung auch sehr hilfreich Danke dir;) –

Verwandte Themen