1

グリッドビューでタップされたアイテムを取得したいのですが、何らかの理由でitemclickイベントを使用できません。アイテムを取得した後、アイテムが保持するオブジェクトとしても変換したいと思います。グリッドビューにはDataTemplateがあり、tappedイベントでe.OriginalSource値を見ると、それはTextBlockです。誰でも助けることができますか?

4

5 に答える 5

1

私はここで同様の質問に答えました:

Windows 8 Metro:GridViewItemをクリックする方法は?

ユーザーがクリックしたアイテムのGridViewItemオブジェクトを取得しようとしている場合、これは、GridViewのItemContainerGenerator.ContainerFromItemメソッドを使用してGridViewのItemClickイベントによってキャプチャできます。

于 2012-12-04T16:01:00.457 に答える
1

ステップ1:IsTapEnabled = "True"を有効にし、GridviewでTappedイベントを作成します

<GridView x:Name="categoryItemsGV"
                                Margin="5,5,0,0"
                                IsItemClickEnabled="True" IsTapEnabled="True" Tapped="categoryItemsGV_Tapped"
                                SelectionMode="Single"

ステップ2:このGridViewはTableModelリストとバインドし、タップされたイベントの下にあります

  private void categoryItemsGV_Tapped(object sender, TappedRoutedEventArgs e)
        {
            var selectedTableModel= (TableModel)(sender as GridView).SelectedItem;

        }

このselectedTableModelには、選択されたアイテムモデルが含まれています。

于 2016-10-17T07:14:38.687 に答える
0

アタッチされたビヘイビア(別名WinRTビヘイビア)を使用して、タップされたイベントをビューモデルのコマンドに中継することができます。

于 2012-12-04T06:11:57.873 に答える
0

以下のコードのように、コントロールListViewの「onItemInvoked」イベントを使用できます。

//item click handler for list view
document.getElementById("yourListViewId").addEventListener("iteminvoked", function(e) {
    e.detail.itemPromise.then(function (invokedItem) {
         WinJS.Navigation.navigate("url to another pages", { objectToTransfer: invokedItem.data });
        });
});

「invokedItem.data」を使用して、ListViewItemが保持するオブジェクトデータ全体を渡します

于 2012-12-04T04:59:13.703 に答える
0

あなたのはDataContextあなたTextBlockが望むものです。

于 2012-12-04T08:38:59.933 に答える