1

我正在制作一个作为 Windows 应用商店应用程序的小型战斗游戏,并且我正在使用 C# 和 XAML。

主要玩家有一个清单列表,里面装满了敌人掉落的字符串。玩家可以在单击会导致弹出菜单出现的按钮时选择库存中的项目。

我遇到的问题是我无法弄清楚如何用敌人掉落的新项目动态填充菜单。有没有办法将弹出菜单数据绑定到玩家库存列表?

4

1 回答 1

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
}
于 2014-02-18T11:10:57.587 回答