【问题标题】:is there a e.ClickedItem for holding event是否有用于举办活动的 e.ClickedItem
【发布时间】:2014-11-10 12:14:57
【问题描述】:

嗨,在我的点击事件中,我可以获取点击按钮的详细信息

 private async void BedGridView_ItemClick(object sender, ItemClickEventArgs e)
    {
     CommonVariables.PatientDetailsDict["bed_number"] = (e.ClickedItem as BedModelV2).bed_number;
                                    }

我想知道我的举办活动是否有类似的东西,以便我可以获得所选项目的信息。因为下面的代码不适用于 HoldingState 或 originalsource。

 private async void BedGridView_Holding(object sender, HoldingRoutedEventArgs e)
    {
     CommonVariables.PatientDetailsDict["bed_number"] = (e.OriginalSource as BedModelV2).bed_number;

}

【问题讨论】:

    标签: c# wpf xaml windows-phone-8


    【解决方案1】:

    我猜你正在使用 WP8.1,因为 WP8 支持 GridView

    要回答您的问题,您可以随时获取 GridView 的 SelectedItem,我通过名称引用它或在保持事件中转换 sender 对象,如下所示:

    <!-- define the gridview -->
    <GridView x:Name="myGV" Holding="myGV_Holding"></GridView>
    
    private void myGV_Holding(object sender, HoldingRoutedEventArgs e)
    {
         var selectedItem = this.myGV.SelectedItem;                 // reference by name
         // var selectedItem = (sender as GridView).SelectedItem;   // reference by converting the sender
    
    }
    

    获得 .SelectedItem 后,它将成为基于 ViewModel 的对象,因此您可以像在原始代码中一样将其转换回来。

    CommonVariables.PatientDetailsDict["bed_number"] = (selectedItem as BedModelV2).bed_number;    
    

    【讨论】:

    • 这只会给我第一个项目的信息,无论我选择哪个项目
    • @user3929914 哦,我明白了,您想要的是它当前持有的项目,而不是实际的 .SelectedItem?
    猜你喜欢
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多