2017-01-06 1 views
0

У меня есть ListBox, a Показать Button и TextBlock в приложении для Windows Phone.Показать списокBox Items One By One (Windows Phone)

Всякий раз, когда пользователь нажимает на Show Button, элемент из ListBox должен быть показан в TextBlock. Если пользователь снова нажмет кнопку «Показать Button», появится следующий элемент.

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) 
    { 
      // ?????? 
    } 
} 

Как можно добиться такой функциональности?

+0

эй! есть один ответ, который не отображается сейчас, но не работает int currentListIndex = 0; if (FavoriteListBox.Items.Count <= currentListIndex) { DisplayTextBlock.Text = FavoriteListBox.Items [currentListIndex ++]. ToString(); } { currentListIndex = 0; DisplayTextBlock.Text = FavoriteListBox.Items [0] .ToString(); } –

ответ

1

Это может быть довольно легко, используя индексы напрямую.

Предположим список вы используете для ListBox элементов называется listobj, то вы можете использовать следующие:

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

Примечание вы не должны проверить, является ли FavoriteListBox это null, потому что такая ситуация будет никогда не происходит - все элементы управления инициализируются вызовом InitializeComponent в конструкторе.

+0

Вау! ваши ответы всегда работают ............. :) –

+0

Рад помочь :-) –

+0

Хорошо Ваше примечание также очень полезно Спасибо;) –

Смежные вопросы