【问题标题】:Show ListBox Items One By One (Windows Phone)一个一个地显示列表框项目 (Windows Phone)
【发布时间】:2017-05-20 19:57:36
【问题描述】:

我的 Windows Phone 应用程序中有一个 ListBox、一个 Show Button 和一个 TextBlock

每当用户点击 Show Button 时,ListBox 中的一个项目 应该显示在TextBlock 中。如果用户再次点击 Show 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)
     {
          // ??????
     }
}

怎样才能实现这样的功能?

【问题讨论】:

  • 嘿!有一个答案现在不可见,但不起作用 int currentListIndex = 0; if (FavoriteListBox.Items.Count

标签: c# listbox windows-phone-8.1 windows-phone-silverlight


【解决方案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 调用进行初始化。

【讨论】:

  • 好的,你的笔记也很有帮助,谢谢;)
  • 我添加时的最后一件事 -- 代替 ++ 在 if 条件下我应该做什么
  • 如果你想倒退,你必须检查_displayedFavoriteIndex &lt;= 0,然后在块内你必须设置_displayedFavoriteIndex = listobj.Count - 1 :-)
猜你喜欢
  • 2023-03-17
  • 1970-01-01
  • 2014-08-30
  • 2011-03-29
  • 2014-12-10
  • 2011-08-07
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多