一个接一个地显示列表框项目 (Windows Phone)
Show ListBox Items One By One (Windows Phone)
我的 Windows Phone 应用程序中有一个 ListBox
、一个节目 Button
和一个 TextBlock
。
每当用户点击显示 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)
{
// ??????
}
}
如何实现这样的功能?
这可以很容易地直接使用索引。
假设您用于 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
调用构造函数。
我的 Windows Phone 应用程序中有一个 ListBox
、一个节目 Button
和一个 TextBlock
。
每当用户点击显示 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)
{
// ??????
}
}
如何实现这样的功能?
这可以很容易地直接使用索引。
假设您用于 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
调用构造函数。