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

  

<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一段代码搞定所有的点击事件的更多相关文章

  1. oracle 字段自增 两段代码搞定

    (这几天做了个小小课程设计时用的是oracle数据库,第一次用,发现oracle和我们以前用的sql server .mysql是有如此多不同的地方,下面是遇到的问题之一和解决方法,和大家分享下) 用 ...

  2. 开源作品ThinkJDBC—一行代码搞定数据库操作

    1 简介 ThinkJD,又名ThinkJDBC,一个简洁而强大的开源JDBC操作库.你可以使用Java像ThinkPHP框架的M方法一样,一行代码搞定数据库操作.ThinkJD会自动管理数据库连接, ...

  3. 30行代码搞定WCF并发性能测试

    [以下只是个人观点,欢迎交流] 30行代码搞定WCF并发性能 轻量级测试. 1. 调用并发测试接口 static void Main()         {               List< ...

  4. 3kb jQuery代码搞定各种树形选择。

    自制Jquery树形选择插件. 对付各种树形选择(省市,分类..)90行Jquery代码搞定,少说废话直接上插件代码.稍后介绍使用说明.是之前写的一个插件的精简版. 1.Jquery插件代码 /* * ...

  5. 一行代码搞定Adapter

    15年Google I/O大会发不了三个重要支持库 >Material design (Android Support Design) >百分比布局:Percent support lib ...

  6. 对百度WebUploader的二次封装,精简前端代码之图片预览上传(两句代码搞定上传)

    前言 本篇文章上一篇: 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传) 此篇是在上面的基础上扩展出来专门上传图片的控件封装. 首先我们看看效果: 正文 使用方式同 ...

  7. Asp.Net Core 轻松学-一行代码搞定文件上传 JSONHelper

    Asp.Net Core 轻松学-一行代码搞定文件上传   前言     在 Web 应用程序开发过程中,总是无法避免涉及到文件上传,这次我们来聊一聊怎么去实现一个简单方便可复用文件上传功能:通过创建 ...

  8. 10行代码搞定移动web端自定义tap事件

    发发牢骚 移动web端里摸爬滚打这么久踩了不少坑,有一定移动web端经验的同学一定被click困扰过.我也不列外.一路走来被虐的不行,fastclick.touchend.iscroll什么的都用过, ...

  9. 一行代码搞定 FTP 服务

    环境搭建: python windows/linux pip install pyftpdlib (安装失败请到这里下载:https://pypi.python.org/pypi/pyftpdlib/ ...

随机推荐

  1. 关于自建yum源拾遗

    yum参数解释[updates]--->源name=CentOS-$releasever - Updates --->源的名字baseurl=http://mirror.centos.or ...

  2. POJ 2777 Count Color(线段树 + 染色问题)

    传送门:Count Color Description Chosen Problem Solving and Program design as an optional course, you are ...

  3. thinkphp join 表前缀

    public function get_user_group_title($uid){ $pre = C('DB_PREFIX'); $res = M('AuthGroupAccess aga')-& ...

  4. lamp字符编码的转换规则

    1.lamp字符编码的转换规则 lamp(Linux+Apache+Mysql+PHP) 1.1GB 2312 GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称<信息 ...

  5. 货币金额javascript正则表达式

    最多保留两位小数,货币金额(不能为0): /^(([1-9]\d*)(\.\d{1,2})?)$|^(0\.0?([1-9]\d?))$/

  6. POJ 3660 Cow Contest (dfs)

    Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11129   Accepted: 6183 Desc ...

  7. 解决Xamarin Android SDK Manager闪退问题

    解决Xamarin Android SDK Manager闪退问题 SDK Manager闪退是因为它找不到java.exe导致的.SDK Manager默认是通过读取注册表中JDK安装信息来java ...

  8. FZU - 1492(Problem 1492 地震预测)

    怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生. 假设已知一段时间的n次地壳震动能量的采样值为a1,a2,-an,那么第i ...

  9. 【转】python assert用法

    1.assert语句用来声明某个条件是真的.2.如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句.3 ...

  10. [NOI2016]循环之美(杜教筛)

    首先要求每个数互不相等,故有$x\perp y$. 可以发现$\frac{x}{y}$在$k$进制下为纯循环小数的充要条件为$x\cdot k^{len}\equiv x(mod\ y)$,即$y\p ...