1

Windows ストア アプリとして小規模なバトル ゲームを作成しており、C# と XAML を使用しています。

メイン プレーヤーには、敵が落としたひもでいっぱいになるインベントリ リストがあります。インベントリ内のアイテムは、ポップアップ メニューが表示されるボタンをクリックすると、プレイヤーが選択できます。

私が抱えている問題は、敵がドロップする新しいアイテムをメニューに動的に追加する方法がわからないことです。ポップアップ メニューをプレイヤーのインベントリ リストにデータバインドする方法はありますか?

4

1 に答える 1

1

上のデータバインドされたポップアップ メニューの例を次に示しますListViewPopupMenu敵のコードがどのように見えるかはわかりませんが、これに似たものを使用して生成できるはずです

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 に答える