title author date CreateTime categories
win10 uwp 右击选择 GridViewItem
lindexi
2018-2-13 17:23:3 +0800
2018-2-13 17:23:3 +0800
Win10 UWP

有时候我们需要选择一个 GridView 的一项,通过我们右击。

于是我们需要在 GridView 的 SelectionMode 为 Single ,IsRightTapEnabled 为True

假如我们给的 ItemSsource 的类型是List<Student>,那我们可以通过简单方法得到右击的 Student 。

我们需要使用 RightTapped

      <GridView x:Name="SymbolGridView"
SelectionMode="Single"
IsItemClickEnabled="True"
IsRightTapEnabled="True"
ItemsSource="{x:Bind View.Student}"
ItemClick="SymbolGridView_OnItemClick"
RightTapped="SymbolGridView_OnRightTapped">
<GridView.ItemTemplate>
<DataTemplate x:DataType="view:ViewModel">
<TextBlock Text="{Binding Name}"></TextBlock>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>

注意 DataTemplate 的是 TexTblock

我们通过

        private void SymbolGridView_OnRightTapped(object sender, RightTappedRoutedEventArgs e)
{
var student = (e.OriginalSource as TextBlock)?.DataContext as Student;
}

就可以得到 Student

注意e.OriginalSource就是我们刚才使用的 DatEtemplate 的 TexTblock ,我们在 DateTemplate 使用类型 Type ,那么 OriginalSource 就可以使用 Type 。拿到后,他的 DataContext 就是我们选择的。

如果使用个人控件(UserControl),那么请要有 DataContext ,不要覆盖。

这样我们就可以得到 GridViewItem

但有时候, OriginalSource 是 ListViewItemPresenter ,我们可以用一个简单方法,使用 FrameworkElement

我们修改代码

 var student = (e.OriginalSource as FrameworkElement)?.DataContext as Student;

这样我们就可以得到,不需要去看 DataTemplate

2018-2-13-win10-uwp-右击选择-GridViewItem-的更多相关文章

  1. win10 uwp 右击选择 GridViewItem

    有时候我们需要选择一个 GridView 的一项,通过我们右击. 于是我们需要在 GridView 的 SelectionMode 为 Single ,IsRightTapEnabled 为True ...

  2. win10 uwp 右击浮出窗在点击位置

    本文主要让MenuFlyout出现在我们右击位置. 我们一般使用的MenuFlyout写在前台,写在Button里面,但是可能我们的MenuFlyout显示的位置和我们想要的不一样. 通过使用后台写S ...

  3. win10 uwp 获得元素绝对坐标

    有时候需要获得一个元素,相对窗口的坐标,在修改他的位置可以使用. 那么 UWP 如何获得元素坐标? 我提供了一个方法,可以获得元素的坐标. 首先需要获得元素,如果没有获得元素,那么如何得到他的坐标? ...

  4. win10 uwp 使用 Microsoft.Graph 发送邮件

    在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...

  5. win10 uwp 使用 asp dotnet core 做图床服务器客户端

    原文 win10 uwp 使用 asp dotnet core 做图床服务器客户端 本文告诉大家如何在 UWP 做客户端和 asp dotnet core 做服务器端来做一个图床工具   服务器端 从 ...

  6. win10 uwp 如何打包Nuget给其他人

    原文:win10 uwp 如何打包Nuget给其他人 本文告诉大家,如果自己有做一些好用的库,如何使用 Nuget 打包之后上传,分享给大家. 首先需要知道一些 Nuget 打包需要知道的,请看 wi ...

  7. win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序

    本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...

  8. win10 uwp 发布旁加载自动更新

    在很多企业使用的程序都是不能通过微软商店发布,原因很多,其中我之前的团队开发了很久的应用,结果发现没有用户能从微软应用商店下载所以我对应用商店没有好感.但是作为一个微软粉丝,怎么能不支持 UWP 开发 ...

  9. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  10. Win10/UWP开发—使用Cortana语音与App后台Service交互

    上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...

随机推荐

  1. SpringBoot项目 前后端分离 ajax附件上传下载

    前台界面 上传 下载 前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  2. logback 日志输出配置

    application.properties文件中  logging.config=classpath:logback-spring-dev.xml logback-spring-dev.xml &l ...

  3. KingbaseES V8R3 集群运维系列 -- failover切换后集群自动恢复

    ​ 案例说明: KingbaseES V8R3集群默认在触发failover切换后,为保证数据安全,原主库需要通过人工介入后,恢复为新的备库加入到集群.在无人值守的现场环境,需要在触发failover ...

  4. KingbaseES V8R6 运维案例 --flashback drop table

    一.KingbaseES V8R6 flashback drop table介绍 使用FLASHBACK删除和恢复表 删除表时,数据库不会立即删除与该表关联的空间.数据库重命名表,并将其和任何关联的对 ...

  5. 探索Django REST框架构建强大的API

    本文分享自华为云社区<探索Django REST框架构建强大的API>,作者:柠檬味拥抱. 在当今的Web开发中,构建强大的API已经成为了不可或缺的一部分.而在Python领域,Djan ...

  6. Codeforces Round #726 (Div. 2)

    CF1537A Arithmetic Array 洛谷传送门 CF1537A 分析 用这 \(n\) 个数的总和 \(sum\) 判断: 如果 \(sum<n\) 直接用 \(n-sum+1\) ...

  7. #Multi-SG#BZOJ 2940 [POI2000] 条纹

    题目 有\(n\)个格子,可以选择三种长度的线段覆盖,不能重叠, 无法覆盖者为负,问先手是否必胜,\(n\leq 10^3\) 分析 考虑选择一个位置覆盖则该局面分成两个局面, 直接求出SG函数不为0 ...

  8. C# PropertyChanged 事件-数据绑定

    在.NET平台上,数据绑定是一项令人十分愉快的技术.利用数据绑定能减少代码,简化控制逻辑. 通常,可以将某个对象的一个属性绑定到一个可视化的控件上,当属性值改变时,控件上的显示数据也随之发生变化.要实 ...

  9. C++ 引用和指针:内存地址、创建方法及应用解析

    C++ 引用和指针 创建引用 引用变量是对现有变量的"别名",它是使用 & 运算符创建的: string food = "Pizza"; // 食物变量 ...

  10. 树模型-C4.5

    C4.5: ID3的改进版本 首先,C4.5和ID3一样都是多叉树,重点是连续特征处理+特征选择的方式不同. ID3算法存在的不足, 在C4.5里面有了改进 有那些改进 不能处理连续特征的问题 C4. ...