设为首页 收藏本站
查看: 1015|回复: 0

重新想象 Windows 8 Store Apps (1)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-22 08:36:57 | 显示全部楼层 |阅读模式
  [源码下载]




重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow  
作者:webabcd

介绍
重新想象 Windows 8 Store Apps 之文本控件


  • TextBlock - 文本显示框
  • TextBox - 文本输入框
  • PasswordBox - 密码输入框
  • RichEditBox - 富文本编辑框
  • RichTextBlock - 富文本显示框
  • RichTextBlockOverflow - 溢出文本显示框
  
示例
1、TextBlock 的 Demo
TextBlockDemo.xaml











Run
Span

Bold
Italic
Underline









abcdefg

hijklmn

opqrst







  TextBlockDemo.xaml.cs



/*
* TextBlock - 文本显示框
*/
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class TextBlockDemo : Page
{
public TextBlockDemo()
{
this.InitializeComponent();
}
private void txt_SelectionChanged_1(object sender, RoutedEventArgs e)
{
// 显示用户选中的文本内容
lblCopy.Text = lblSource.SelectedText;
/*
* 与文本操作相关的属性和方法还有: ContentStart, ContentEnd, SelectionStart, SelectionEnd, SelectAll(), Select(TextPointer start, TextPointer end)
*/
}
}
}
  
2、TextBox 的 Demo
TextBoxDemo.xaml

















  TextBoxDemo.xaml.cs



/*
* TextBox - 文本输入框
*/
using Windows.System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
namespace XamlDemo.Controls
{
public sealed partial class TextBoxDemo : Page
{
public TextBoxDemo()
{
this.InitializeComponent();
this.Loaded += TextBoxDemo_Loaded;
}
private void txt_Loaded_1(object sender, RoutedEventArgs e)
{
// 让 txtDemo 获取焦点
            txtDemo.Focus(Windows.UI.Xaml.FocusState.Programmatic);
// 将 txtDemo 中的文本从第 3 个字符开始的一共 4 个字符设置为选中状态
txtDemo.Select(3, 4);
/*
* 与文本操作相关的属性和方法还有: SelectionStart, SelectionLength, SelectedText, SelectAll(), Select(int start, int length), GetRectFromCharacterIndex(int charIndex, bool trailingEdge)
*/
}
void TextBoxDemo_Loaded(object sender, RoutedEventArgs e)
{
// 设置 txtInputScope 的 InputScope
InputScope scope = new InputScope();
InputScopeName name = new InputScopeName();
name.NameValue = InputScopeNameValue.ChineseFullWidth;
scope.Names.Add(name);
txtInputScope.InputScope = scope;
}
private void txtInputScope_KeyDown_1(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
{
// 判断用户是否按下了 SIP 上的回车键
if (e.Key == VirtualKey.Enter)
{
// 转移焦点,虚拟键盘会自动隐藏
                txtReadOnly.Focus(FocusState.Programmatic);
}
}
}
}
  
3、PasswordBox 的 Demo
PasswordBoxDemo.xaml











  PasswordBoxDemo.xaml.cs



/*
* PasswordBox - 密码输入框
*/
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class PasswordBoxDemo : Page
{
public PasswordBoxDemo()
{
this.InitializeComponent();
}
}
}
  
4、RichEditBox 的 Demo
RichEditBoxDemo.xaml

















  RichEditBoxDemo.xaml.cs



/*
* RichEditBox - 富文本编辑框
*
* 开发一个简单的文本编辑器演示如何通过 RichEditBox 编辑文本
*/
using System.Collections.Generic;
using Windows.UI;
using Windows.UI.Text;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class RichEditBoxDemo : Page
{
public RichEditBoxDemo()
{
this.InitializeComponent();
}
// 使选中的文字变为斜体
private void btnItalic_Click_1(object sender, RoutedEventArgs e)
{
// 获取选中的文本
ITextSelection selectedText = txtEditor.Document.Selection;
if (selectedText != null)
{
// 实体化一个 ITextCharacterFormat,指定字符格式为斜体
ITextCharacterFormat charFormatting = selectedText.CharacterFormat;
charFormatting.Italic = FormatEffect.Toggle;
// 设置选中文本的字符格式
selectedText.CharacterFormat = charFormatting;
}
}
// 使选中的文字加粗
private void btnBold_Click_1(object sender, RoutedEventArgs e)
{
// 获取选中的文本
ITextSelection selectedText = txtEditor.Document.Selection;
if (selectedText != null)
{
// 实体化一个 ITextCharacterFormat,指定字符格式为加粗
ITextCharacterFormat charFormatting = selectedText.CharacterFormat;
charFormatting.Bold = FormatEffect.Toggle;
// 设置选中文本的字符格式
selectedText.CharacterFormat = charFormatting;
}
}
// 保存已经被高亮的 ITextRange
List _highlightedWords = new List();
// 高亮显示用户搜索的字符
private void btnSearch_Click_1(object sender, RoutedEventArgs e)
{
// 清除高亮字符的高亮效果
            ITextCharacterFormat charFormat;
for (int i = 0; i < _highlightedWords.Count; i++)
{
charFormat = _highlightedWords.CharacterFormat;
charFormat.BackgroundColor = Colors.Transparent;
_highlightedWords.CharacterFormat = charFormat;
}
_highlightedWords.Clear();
// 获取全部文本,并将操作点移动到文本的起点
ITextRange searchRange = txtEditor.Document.GetRange(0, TextConstants.MaxUnitCount);
searchRange.Move(0, 0);
bool textFound = true;
do
{
// 在全部文本中搜索指定的字符串
if (searchRange.FindText(txtSearch.Text, TextConstants.MaxUnitCount, FindOptions.None) < 1)
{
textFound = false;
}
else
{
_highlightedWords.Add(searchRange.GetClone());
// 实体化一个 ITextCharacterFormat,指定字符背景颜色为黄色
ITextCharacterFormat charFormatting = searchRange.CharacterFormat;
charFormatting.BackgroundColor = Colors.Yellow;
// 设置指定文本的字符格式(高亮效果)
searchRange.CharacterFormat = charFormatting;
}
} while (textFound);
}
}
}
  
5、RichTextBlock 的 Demo
RichTextBlockDemo.xaml










Windows 8是由微软公司开发的,具有革命性变化的操作系统。该系统旨在让人们的日常电脑操作更加简单和快捷,为人们提供高效易行的工作环境Windows 8支持来自Intel、AMD和ARM的芯片架构。Windows Phone 8采用和Windows 8相同的NT内核并且内置诺基亚地图。2011年9月14日,Windows 8开发者预览版发布,宣布兼容移动终端,微软将苹果的IOS、谷歌的Android视为Windows 8在移动领域的主要竞争对手。2012年8月2日,微软宣布Windows 8开发完成,正式发布RTM版本。2012年10月将正式推出Windows 8,微软自称触摸革命将开始














  RichTextBlockDemo.xaml.cs



/*
* RichTextBlock - 富文本显示框
*/
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class RichTextBlockDemo : Page
{
public RichTextBlockDemo()
{
this.InitializeComponent();
}
}
}
  
6、RichTextBlockOverflow 的 Demo
RichTextBlockOverflowDemo.xaml








一打开Windows 8计算机,用户就会发现明显的变化。呈现在用户眼前的不再是熟悉的桌面,而是由漂亮、现代化的瓷贴(tile)以及最适合在触控屏上运行的全屏应用构成的环境。这就是“开始”屏,它取代了Windows用户熟悉的“开始”菜单。开始屏不只是菜单,而是占据整个显示屏的一个完整的计算环境,有自己独立的应用和控件。用户仍然可以使用过去的桌面和老式软件,在Windows 8中,桌面就像另外一款应用,用户可以通过点击开始屏上的图标或按钮运行桌面。
这是一个大胆的举措,基于瓷贴的环境非常好,将受到用户的欢迎。这一环境让人感觉很自然,特别是在触控屏设备上,使Windows进入了平板电脑时代。它可能甚至标志着一个漫长过渡期的开始,新设计将逐步取代原来的设计,当然,这取决于微软吸引新型应用的速度。
Windows将提供两种完全不同的用户体验。微软的目的是提供一款既能在传统PC,也能在平板电脑上运行的操作系统,包括采用触控方式操作的天气应用和采用鼠标操作的Excel都能在Windows 8中运行。这一策略完全不同于苹果,苹果的iPad平板电脑和Mac计算机运行不同的操作系统。
双环境策略可能会让传统PC用户感到困惑。新、旧两种环境都可以通过触控、鼠标、键盘进行操作,但触控更适合新环境,鼠标、键盘更适合旧环境。
Windows 8将带有两种不同版本的IE,许多功能也不相同。例如,新型应用通常缺乏传统应用中的标准菜单、工具条、改变尺寸和关闭按钮。微软坚信用户困惑是暂时的,将被运行Office等传统办公软件的能力所抵消。Office不能在iPad或Android平板电脑上运行。
Windows 8可能给用户带来更多困惑。Windows 8有两种版本:一个版本面向标准的X86 PC,另一款版本――Windows RT面向配置ARM架构芯片的设备。
当然,两种版本之间的区别很大。在X86设备上,用户可以运行新型应用,也可以通过桌面环境运行传统的Windows应用。但是,用户不能在ARM设备上安装和运行传统Windows应用。能同时在X86和ARM设备上运行的唯一一款主要软件是一款新版Office,但ARM版Office不包含Outlook。用户可以通过网络商店下载所有新型应用。
微软将首次推出自主品牌平板电脑Surface,与传统硬件合作伙伴推出的Windows 8和Windows RT平板电脑竞争。









  RichTextBlockOverflowDemo.xaml.cs



/*
* RichTextBlockOverflow - 溢出文本显示框,用于显示 RichTextBlock 或其他 RichTextBlockOverflow 中的溢出文字
*/
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class RichTextBlockOverflowDemo : Page
{
public RichTextBlockOverflowDemo()
{
this.InitializeComponent();
}
}
}
  
OK
[源码下载]

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69358-1-1.html 上篇帖子: Dribbble for windows phone 8 下篇帖子: Windows 8/8.1 及 Windows Phone 8 应用神器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表