我正在制作一款小型战斗游戏作为Windows应用商店应用,我正在使用C#和XAML。
主玩家有一个库存清单,填充了敌人丢弃的字符串。当玩家点击导致弹出菜单出现的按钮时,可以选择库存中的项目。
我遇到的问题是我无法弄清楚如何用敌人掉落的新物品动态填充菜单。有没有办法将弹出菜单数据绑定到玩家库存清单?
答案 0 :(得分:1)
以下是ListView
上数据绑定弹出菜单的示例。我不知道你的敌人的代码是什么样的,但你应该能够使用与此类似的东西生成PopupMenu
XAML
<ListBox>
<ListBoxItem Tag="chalk,cheese,beets" RightTapped="ListBoxItem_RightTapped">player one</ListBoxItem>
<ListBoxItem Tag="vodka,ak ammo" RightTapped="ListBoxItem_RightTapped">player two</ListBoxItem>
</ListBox>
C#
private async void ListBoxItem_RightTapped(object sender, RightTappedRoutedEventArgs e)
{
PopupMenu menu = new PopupMenu();
string[] items = ((ListBoxItem)sender).Tag.ToString().Split(',');
foreach (string item in items)
{
menu.Commands.Add(new UICommand(item, (command) =>
{
// do stuff
}));
}
var chosenCommand = await menu.ShowAsync(e.GetPosition(this));
// do something with chosen command value
}