Windows 8.1 应用再出发 - 几种常用控件

简介: 原文:Windows 8.1 应用再出发 - 几种常用控件本篇为大家简单介绍Windows 商店应用中控件的用法,为方便讲解,我们在文本控件和按钮控件这两类中分别挑选有代表性的控件进行详细说明。 1. 文本控件 (1) TextBlock     TextBlock是最常用的文本显示控件,重点关注以下属性: CharacterSpacing  字符之前的统一间距,间距 = 字体大小 / 1000。
原文: Windows 8.1 应用再出发 - 几种常用控件

本篇为大家简单介绍Windows 商店应用中控件的用法,为方便讲解,我们在文本控件和按钮控件这两类中分别挑选有代表性的控件进行详细说明。

1. 文本控件

(1) TextBlock

    TextBlock是最常用的文本显示控件,重点关注以下属性:

  • CharacterSpacing  字符之前的统一间距,间距 = 字体大小 / 1000。默认为0,正值增进跟踪和放宽字符间距。负值减少跟踪和收紧字符调间距。
  • IsColorFontEnabled  布尔值,确定颜色标志符号是否以彩色显示。如果颜色标志符号以彩色显示,则为 true;否则为 false。 默认为 true。
  • LineStackingStrategy  枚举值,确定每行行高的策略。有MaxHeight(默认值)、BaselineToBaseline 和 BlockLineHeight 三种。MaxHeight:每行行高以LineHeight和元素的自然高度中的最大值为准,BaselineToBaseline:每行行高以文本基线之间的距离为准,BlockLineHeight:每行行高以LineHeight为准。
  • OpticalMarginAlignment  枚举值,指定在与文本容器边界对齐时如何处理每个字符版式中靠边的值。有None(默认值) 和 TrimSideBearings 两种。None:使用来自字体版式值的侧方位,TrimSideBearings:不使用来自字体版式值的边位,且不将字形的一侧与字形"墨迹"部分开始的位置对齐
  • TextAlignment  枚举值,指示文本内容的水平对齐方式。有Left(默认值)、Right、Center 和 Justify 四种。Left:左对齐,Right:右对齐,Center:居中,Justify:容器内对齐。
  • TextLineBounds  枚举值,影响行高计算的公式。有Full(默认值)、Tight、TrimToBaseline 和 TrimToCapHeight 四种。Full:使用常规行高计算,Tight:行顶部高度是字体的大写字高,行底部告诉是文本基线,TrimToBaseline:行高的底部是文本基线,TrimToCapHeight:行顶部高度是字体的大写字高。
  • TextTrimming  枚举值,内容溢出内容区域时采取的休整行为。有CharacterEllipsis、Clip、None(默认值) 和 WordEllipsis 四种。CharacterEllipsis:在字符边界处修整文本。将绘制省略号 (...) 来替代剩余的文本,Clip:在像素级别修整文本,并以可视方式裁剪多余的字形,None:不休整文本,WordEllipsis:在单词边界处修整文本。将绘制省略号 (...) 来替代剩余的文本。
  • TextWrapping  枚举值,文本进行换行的方式。有NoWrap、Wrap 和 WrapWholeWords 三种。NoWrap:不换行,Wrap:文本行溢出容器的可用宽度,则进行换行。即使最后溢出的是单一单词,也仍然换行,WrapWholeWords:与Wrap的唯一不同是,对单一单词不换行。
        <TextBlock Text="I am a TextBlock "
                   CharacterSpacing="100" 
                   HorizontalAlignment="Center" VerticalAlignment="Center" 
                   FontFamily="Arial" FontStyle="Italic" FontSize="50" FontWeight="Black"
                   IsColorFontEnabled="True"
                   LineStackingStrategy="BlockLineHeight"
                   OpticalMarginAlignment="TrimSideBearings"
                   TextAlignment="Center" TextLineBounds="TrimToBaseline" TextReadingOrder="DetectFromContent" 
                   TextTrimming="WordEllipsis" TextWrapping="WrapWholeWords"
                   Height="120" Width="500"/>

 (2) TextBox

     TextBox是文本输入控件,重点关注以下属性:

  • AcceptsReturn  布尔值,确定文本框是否允许换行或回车符。如果文本框允许换行符,则为 true;否则为 false。默认为 false。
  • FlowDirection  布尔值,确定文本框中内容的流动方向。有LeftToRight 和 RightToLeft 两种。LeftToRight:内容从左向右流动,RightToLeft:内容哦那个从右向左流动。
  • Header  文本框标头内容,默认为null。
  • InputScope  指定SIP类型,来改变控件输入范围。
  • IsSpellCheckEnabled  布尔值,指定 TextBox 输入是否应与拼写检查引擎交互。如果 TextBox 输入与拼写检查引擎进行交互,则为 True;否则为 false。默认为 false。
  • IsTextPredictionEnabled  确定是否应启用此 TextBox 的文本预测功能("自动完成")的值。如果为 true,则启用文本预测功能;否则为 false。默认为 true。
        <TextBox AcceptsReturn="True" Background="AliceBlue" BorderBrush="Blue" BorderThickness="2" 
                 CompositeMode="Inherit" FlowDirection="RightToLeft" FontFamily="Arial" FontStyle="Italic" FontSize="50" FontWeight="Black" 
                 Header="Header Text" InputScope="Number" IsReadOnly="False" IsSpellCheckEnabled="True" IsTextPredictionEnabled="False" 
                 SelectedText="123" SelectionHighlightColor="AliceBlue" HorizontalAlignment="Center" VerticalAlignment="Center"/>

 (3)PasswordBox

     PasswordBox 是常用的密码输入控件,重点关注以下属性:

  • MaxLength  由此 PasswordBox 处理的密码的最大长度, 值为 0 表示没有限制。默认为 0。
  • Password  PasswordBox 当前保留的密码。
  • PasswordChar  PasswordBox 的掩码字符,默认值为 ●。
  • IsPasswordRevealButtonEnabled  布尔值,指定 PasswordBox 的可视 UI 是否包括切换显示或隐藏键入字符的铵钮元素。True 显示密码显示按钮;false 不显示密码显示按钮。默认为 false。
        <PasswordBox Height="50" Width="200" MaxLength="8" Password="123456" PasswordChar="*" IsPasswordRevealButtonEnabled="True"/>

 

 2. 按钮控件

(1) Button

    Button是最常用的按钮控件,重点关注以下内容:

  • ClickMode  枚举值,指示 Click 事件发生时间的值。有Hover、Press 和 Release(默认值)三种。Hover:将鼠标指针移到控件上方时应引发 Click 事件,Press:按下鼠标按键且鼠标指针位于控件上方时应引发 Click 事件,如果使用的是键盘,则指定在按下空格键或 ENTER 键且控件具有键盘焦点时应引发 Click 事件,Release:按下并松开鼠标左键且鼠标指针位于控件上方时应引发 Click 事件,如果使用的是键盘,则指定在按下并松开空格键或 Enter 键且控件具有键盘焦点时应引发 Click 事件。
  • HorizontalContentAlignment  枚举值,控件内容的水平对齐方式。有Center(默认值)、Left、Right 和 Stretch四种。Center:与父元素布局的中心对齐元素,Left:与父元素布局的左侧对齐元素,Right:与父元素布局的右侧对齐元素,Stretch:拉伸以填充整个父元素布局槽的元素。
  • VerticalContentAlignment  枚举值,控件内容的垂直对齐方式。有Center(默认值)、Bottom、Top 和 Stretch四种。
  • Flyout  与此按钮关联的浮出控件。当按钮点击时,Flyout控件浮出,再点击按钮或空白处,Flyout消失。
        <Button Content="Click Me." ClickMode="Release" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" 
                FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center" Height="200" Width="400" Click="Button_Click">
            <Button.Flyout>
                <Flyout>
                    <TextBlock Text="I am flyout content."/>
                </Flyout>
            </Button.Flyout>
        </Button>

(2) HyperlinkButton 

     HyperlinkButton 是常用的超链接按钮,重点关注以下内容:

  • NavigateUri  单击 HyperlinkButton 时要导航到的统一资源标识符 (URI)
        <HyperlinkButton Content="go to google." Foreground="Green" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center" 
                         HorizontalContentAlignment="Left" VerticalContentAlignment="Top" NavigateUri="http://www.google.com.hk"/>

(3) ToggleButton

    ToggleButton 是可以切换状态的按钮,重点关注以下内容:

  • IsThreeState  布尔值,指示控件是否支持三个状态的值。如果控件支持三种状态,则为 True;否则为 false。默认为 false。
  • IsChecked  布尔值,指定是否选中 ToggleButton。如果已选中 ToggleButton,则为 true;如果未选中 ToggleButton,则为 false;否则为 null。默认为 false。
        <ToggleButton Content="Toggle Button" IsThreeState="True" FontSize="50" IsChecked="True" HorizontalAlignment="Center" VerticalAlignment="Center" 
                      Checked="ToggleButton_Checked" Unchecked="ToggleButton_Unchecked" Indeterminate="ToggleButton_Indeterminate"/>
        // 按钮变为选中状态后触发的事件
        private void ToggleButton_Checked(object sender, RoutedEventArgs e)
        {}
        // 按钮变为选中未状态后触发的事件
        private void ToggleButton_Unchecked(object sender, RoutedEventArgs e)
        {}
        // 按钮变为不确定状态后触发的事件
        private void ToggleButton_Indeterminate(object sender, RoutedEventArgs e)
        {}

 (4) RadioButton

    RadioButton是单选按钮,继承自ToggleButton,重点关注以下内容:

  • GroupName  指定哪些 RadioButton 控件互相排斥的名称,同一GroupName的RadioButton不能同时被选中。
  • IsChecked  布尔值,指定是否选中按钮。注意如果同一GroupName的控件同时设置为true,则后面的控件选中状态会覆盖前面的。
        <RadioButton GroupName="groupName" IsChecked="True" Content="RadioButton One"/>
        <RadioButton GroupName="groupName" IsChecked="True" Content="RadioButton Two"/>

 (5) CheckBox

    CheckBox是复选按钮,继承自ToggleButton,重点关注以下内容:

  • IsChecked  布尔值,指定是否选中按钮。
        <CheckBox IsChecked="True" Content="CheckBox One"/>
        <CheckBox IsChecked="False" Content="CheckBox One"/>

 

到这里我们就完成了几种常用控件的介绍,希望能帮助大家更好的理解Windows 商店应用中控件的用法,谢谢。

 

目录
相关文章
|
1月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
30天前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
30天前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
59 3
|
1月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
27天前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
32 0
|
27天前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
31 0
|
27天前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
63 0
|
1月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
1月前
|
Python Windows 内存技术
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
|
1月前
|
Windows
Windows——如何提取Microsoft Store的应用
Windows——如何提取Microsoft Store的应用
26 0