1、WPF的一个触摸屏项目,需要输入姓名,但是屏幕不支持汉字输入,使用虚拟键盘不稳定,为了解决该问题特此进行处理。

2、新建一个类转换类,里面初始化一个数组,数组包含拼音,以及拼音下的常用的汉字。

3、根据拼音,对照出对应的汉字,然后在对汉字进行拆分,获取到单个汉字。

例子如下:

private static readonly string[][] _Allhz =
new string[][]
{
new string[]{"A","啊阿呵吖嗄腌锕錒"},
new string[]{"Ai","爱矮挨哎碍癌艾唉哀蔼隘埃皑呆嗌嫒瑷暧捱砹"},
new string[]{"An","按安暗岸俺案鞍氨胺厂广庵揞犴铵桉谙鹌埯黯"},
new string[]{"Ang","昂肮盎仰卬岇昻枊醃醠骯"},
new string[]{"Ao","袄凹傲奥熬懊敖翱澳嚣拗媪廒骜嗷坳遨聱螯獒鏊鳌鏖"},
new string[]{"Ba","把八吧爸拔罢跋巴芭扒坝霸叭靶笆疤耙捌粑茇岜鲅钯魃菝灞"},
new string[]{"Bai","百白摆败柏拜佰伯稗捭呗掰"},

~~~~~~~~//省去若干
new string[]{"Zui","最嘴醉罪堆咀觜蕞"},
new string[]{"Zun","尊遵鳟撙樽僎僔噂墫奠嶟拵捘捽栫瀳繜罇袸譐跧踆蹲銌鐏鱒鶎鷷"},
new string[]{"Zuo","做作坐左座昨凿琢撮佐笮"}
};

/// <summary>
/// 拼音转汉字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string ConvertPzToHz(string str)
{
str = str.ToLower();

if (str == null)
return null;
byte[] bAry = new byte[2];
StringBuilder rtnSb = new StringBuilder();
for (int j = 0; j < _Allhz.Length; j++)
{
string py = _Allhz[j][0].ToLower();

if (py.IndexOf(str) != -1)
{
rtnSb.Append(_Allhz[j][1]);
break;
}
}
return rtnSb.ToString();
}

//对汉字字符串进行分解

char[] chars = strMsg.ToCharArray();

WPF中实现根据拼音查找汉字的更多相关文章

  1. WPF中查找控件的扩展类

    在wpf中查找控件要用到VisualTreeHelper类,但这个类并没有按照名字查找控件的方法,于是搜索网络,整理出下面这个类,感觉用起来很是方便. 贴出来,供大家参考. /// <summa ...

  2. C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法

    主要介绍了C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法,本文分别给出了使用微软语言包.手动编码实现两种实现方式,需要的朋友可以参考下 本文刚发布时,只写了一个实现方式,使用的是微软的语言包,但 ...

  3. 总结:WPF中ResourceDictionary资源文件的查找和遍历方法

    原文:总结:WPF中ResourceDictionary资源文件的查找和遍历方法 一.查找包含制定关键字的资源 ResourceDictionary GetThemeDictionary()     ...

  4. MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息

    MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...

  5. WPF入门教程系列十八——WPF中的数据绑定(四)

    六.排序 如果想以特定的方式对数据进行排序,可以绑定到 CollectionViewSource,而不是直接绑定到 ObjectDataProvider.CollectionViewSource 则会 ...

  6. WPF中的数据绑定!!!

    引用自:https://msdn.microsoft.com/zh-cn/magazine/cc163299.aspx  数据点: WPF 中的数据绑定 数据点 WPF 中的数据绑定 John Pap ...

  7. WPF中的DependencyProperty存储方式详解

    前言 接触WPF有一段时间了,之前虽然也经常使用,但是对于DependencyProperty一直处于一知半解的状态.今天花了整整一下午将这个概念梳理了一下,自觉对这个概念有了较为清晰的认识,之前很多 ...

  8. 【转】WPF中Binding的技巧(一)

    WPF中Binding的技巧(一)   在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到 ...

  9. WPF中的资源简介、DynamicResource与StaticResource的区别(转)

    什么叫WPF的资源(Resource)?资源是保存在可执行文件中的一种不可执行数据.在WPF的资源中,几乎可以包含图像.字符串等所有的任意CLR对象,只要对象有一个默认的构造函数和独立的属性. 也就是 ...

随机推荐

  1. JFinal tomcat配置根路径(包括windows和linux)

    http://my.oschina.net/u/173975/blog/350666 jfinal的demo直接部署到tomcat上,会由于路径问题导致资源加载不到,路径跳转不正确等问题,解决办法如下 ...

  2. Struts2 中的数据传输

    1.     如何将参数从界面传递到Action? 你可以把Struts2中的Action看做是Struts1的Action+ActionForm,即只需在Action中定义相关的属性(要有gette ...

  3. 网页媒体播放利器 - JW Player使用心得

    序言 前段时间在做一个网站项目,要求能在线播放视频.音乐,这个以前还真没接触过.恰好今天在坛子里闲逛时,发现有同志对这方面也感兴趣,遂把这些整理了下,同时自己也可以复习下. 播放器需要满足以下需求: ...

  4. Hibernate: Truly Understanding the Second-Level and Query Caches--reference

    I've written multiple articles here at Javalobby on the Hibernate O/R mapping tool, and they are usu ...

  5. java.lang.SecurityException: Permission denied (missing INTERNET permission?) 解决

    Android app里试图用HttpUrlConnection获取网络连接,忘记在AndroidManifest清单文件里声明需要用到Internet的权限,运行时报此错误. 解决方法 在Andro ...

  6. 深入理解计算机系统第二版习题解答CSAPP 2.14

    假设x和y的字节值分别为0x66和0x39.填写下表,指明各个C表达式的字节值. 0x66 = 0110 0110(B) 0x39 = 0011 1001(B) 表达式 值 x & y 0x2 ...

  7. 深入理解计算机系统第二版习题解答CSAPP 2.12

    对于下面的值,写出变量x的C语言表达式.代码应该对任何字长w≥8都能工作.我们给出当x=0x87654321以及w=32时表达式的结果,仅供参考. A.x的最低有效字节,其他位均为0.[0x00000 ...

  8. [未完成]关于java基础数据类型中的一些总结

    java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.

  9. 关于文件的复制(用InputStream和OutputStream)

    作业:将c盘的一个文本文件复制到d盘. 分析:复制原理:读取c盘文件中的数据,将这些数据写入到d盘当中,连读带写. /* * 需求:作业:将c盘的一个文本文件复制到d盘. * 思路: * 1,需要读取 ...

  10. 面试之SQL

    1. 查询性能优化:从数据库查询数据时,你一定遇到过查询很慢的情况,请问你是怎么处理的. 答: 遇到的问题描述:是遇到过这种情况,我们给客户做过一款软件,日志库搜集了6000万条数据,显示.查询时候慢 ...