WPF一段代码搞定所有的点击事件
用一个方法来控制转发所有的点击事件,界面图如下:

<Page x:Class="WPFNavigate.Index"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Home">
<Page.Resources>
<Style TargetType="Button">
<Setter Property="Opacity" Value="1"/>
<Setter Property="Width" Value="40"/>
<Setter Property="Height" Value="40"/>
</Style>
</Page.Resources>
<!--设置背景图片-->
<Page.Background>
<ImageBrush ImageSource="Resources\Phone\Home3.png" Stretch="Fill" />
<!--Stretch伸展-->
</Page.Background>
<StackPanel Name="MyHome" ButtonBase.Click="MyHome_Click">
<Canvas Height="400" Width="240">
<!--时钟-->
<Button Opacity="0" x:Name="Colck" Canvas.Left="10" Canvas.Top="20" />
<!--日历-->
<Button Opacity="0" x:Name="RiLi" Canvas.Left="70" Canvas.Top="22" />
<!--音乐-->
<Button Opacity="0" x:Name="Muesic" Canvas.Left="130" Canvas.Top="22" />
<!--网络-->
<Button Opacity="0" x:Name="Web" Canvas.Left="190" Canvas.Top="22" />
<!--相机-->
<Button Opacity="0" x:Name="Camary" Canvas.Left="10" Canvas.Top="90" />
<!--邮件-->
<Button Opacity="0" x:Name="Email" Canvas.Left="70" Canvas.Top="90" />
<!--相册-->
<Button Opacity="0" x:Name="photos" Canvas.Left="130" Canvas.Top="90" />
<!--搜索-->
<Button Opacity="0" x:Name="Seching" Canvas.Left="190" Canvas.Top="90" />
<!--录像-->
<Button Opacity="0" x:Name="Viodue" Canvas.Left="10" Canvas.Top="165" Click="Viodue_Click" />
<!--收音机-->
<Button Opacity="0" x:Name="FM" Canvas.Left="70" Canvas.Top="165" />
<!---->
<Button Opacity="0" x:Name="AsmsungApp" Canvas.Left="130" Canvas.Top="165" />
<!--设置-->
<Button Opacity="0" x:Name="Stetting" Canvas.Left="190" Canvas.Top="165" />
<!--社交-->
<Button Opacity="0" x:Name="Cluble" Canvas.Left="10" Canvas.Top="235" />
<!--WebViolue-->
<Button Opacity="0" x:Name="WebViolu" Canvas.Left="70" Canvas.Top="235" />
<!---->
<Button Opacity="0" x:Name="Read" Canvas.Left="130" Canvas.Top="235" />
<Button Opacity="0" x:Name="backNode" Canvas.Left="190" Canvas.Top="235" />
<Button Opacity="0" x:Name="Call" Canvas.Left="10" Canvas.Top="350" />
<!--WebViolue-->
<Button Opacity="0" x:Name="TongXunlu" Canvas.Left="70" Canvas.Top="350" />
<!---->
<Button Opacity="0" x:Name="Messing" Canvas.Left="130" Canvas.Top="350" /> <Button Opacity="0" x:Name="Home" Canvas.Left="190" Canvas.Top="350" />
</Canvas>
</StackPanel>
</Page>
资源文件:

处理代码逻辑
/// <summary>
/// 点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MyHome_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)e.OriginalSource;//获取点击的Button
Type type = this.GetType();//得到他的类型
Assembly assenbly = type.Assembly;//程序集的信息
Page page = (Page)assenbly.CreateInstance(type.Namespace + "." + btn.Name);//创建一个实例
NavigationService.Navigate(new Uri(btn.Name + ".xaml", UriKind.Relative));//开始导航
}
WPF一段代码搞定所有的点击事件的更多相关文章
- oracle 字段自增 两段代码搞定
(这几天做了个小小课程设计时用的是oracle数据库,第一次用,发现oracle和我们以前用的sql server .mysql是有如此多不同的地方,下面是遇到的问题之一和解决方法,和大家分享下) 用 ...
- 开源作品ThinkJDBC—一行代码搞定数据库操作
1 简介 ThinkJD,又名ThinkJDBC,一个简洁而强大的开源JDBC操作库.你可以使用Java像ThinkPHP框架的M方法一样,一行代码搞定数据库操作.ThinkJD会自动管理数据库连接, ...
- 30行代码搞定WCF并发性能测试
[以下只是个人观点,欢迎交流] 30行代码搞定WCF并发性能 轻量级测试. 1. 调用并发测试接口 static void Main() { List< ...
- 3kb jQuery代码搞定各种树形选择。
自制Jquery树形选择插件. 对付各种树形选择(省市,分类..)90行Jquery代码搞定,少说废话直接上插件代码.稍后介绍使用说明.是之前写的一个插件的精简版. 1.Jquery插件代码 /* * ...
- 一行代码搞定Adapter
15年Google I/O大会发不了三个重要支持库 >Material design (Android Support Design) >百分比布局:Percent support lib ...
- 对百度WebUploader的二次封装,精简前端代码之图片预览上传(两句代码搞定上传)
前言 本篇文章上一篇: 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传) 此篇是在上面的基础上扩展出来专门上传图片的控件封装. 首先我们看看效果: 正文 使用方式同 ...
- Asp.Net Core 轻松学-一行代码搞定文件上传 JSONHelper
Asp.Net Core 轻松学-一行代码搞定文件上传 前言 在 Web 应用程序开发过程中,总是无法避免涉及到文件上传,这次我们来聊一聊怎么去实现一个简单方便可复用文件上传功能:通过创建 ...
- 10行代码搞定移动web端自定义tap事件
发发牢骚 移动web端里摸爬滚打这么久踩了不少坑,有一定移动web端经验的同学一定被click困扰过.我也不列外.一路走来被虐的不行,fastclick.touchend.iscroll什么的都用过, ...
- 一行代码搞定 FTP 服务
环境搭建: python windows/linux pip install pyftpdlib (安装失败请到这里下载:https://pypi.python.org/pypi/pyftpdlib/ ...
随机推荐
- AC日记——小魔女帕琪 洛谷 P3802
小魔女帕琪 思路: 概率公式计算: 代码: #include <bits/stdc++.h> using namespace std; ],sig; int main() { ;i< ...
- LoadRunner11破解方法
前期准备:LoadRunner11 下载LoadRunner破解文件 下载LoadRunner注册表清理工具 下载 LoadRunner11破解方法:一.覆盖破解文件首先请下载LoadRunner破解 ...
- rsync数据定时增量备份知识管理服务器数据
为了保证公司知识管理服务器数据的安全性,所以计划每天同步confluence服务器上面数据 一.安装rsync服务端 1.查看是否安装rsync ps -ef | grep rsync 2.添加配置文 ...
- php获取不到url问号之后的参数
url规则已定义: RewriteRule ^/member/editprivilege/([0-9]+) /access.php?_u=mobile/editprivilege&aid=$1 ...
- 转:攻击JavaWeb应用[1]-javaEE基础
http://www.cnblogs.com/oh3o/p/3224562.html JSP: 全名为java server page,其根本是一个简化的Servlet. Servlet:Servle ...
- PAT L3-002. 堆栈
树状数组,二分. 一堆数字,可以删除栈顶,压入数字,求中位数,可以线段树,也可以树状数组上二分. #include<map> #include<set> #include< ...
- Flask实战第48天:首页轮播图实现
首页的布局如下 因为以后所有的内容都是在main-container里面,所以这里我们修改front_base.html,把{% block body%}{% endblock%}放到里面去 < ...
- shell 指定行插入
#如果知道行号可以用下面的方法 sed -i '88 r b.file' a.file #在a.txt的第88行插入文件b.txt awk '1;NR==88{system("cat ...
- BZOJ 4883 [Lydsy2017年5月月赛]棋盘上的守卫(最小生成环套树森林)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4883 [题目大意] 在一个n*m的棋盘上要放置若干个守卫. 对于n行来说,每行必须恰好 ...
- Perl中的数组&哈希应用
哈希和数组是Perl中较为常用的结构,本文则重点讨论数组和哈希的一些基本用法,供广大喜爱Perl的同学们交流学习. 哈希 Perl中的哈希表类似于Python中的字典结构,由(键=>值)对构成, ...