属性设置

在面向对象程序开发中,所提及的属性通常指的是对象的属性。在XAML代码中,定义元素时也可以为其设置属性,例如对于一个TextBox元素,有背景属性、宽度属性和高度属性等。为了满足实际应用的需求,XAML语言提供了两种常用的方法来设置元素的属性。

(1)通过Attribute特性语法设置元素的属性

也就是在元素的开始标签中直接定义一个或多个隶属于该元素的属性,并为属性赋值,其语法结构如下所示:

<元素名
属性名1="属性值1" 属性名2="属性值2" …></元素名>

例如,定义一个TextBox元素,设置它的Text属性值为"你好",Height属性值为30像素,Width属性值为100像素,对应的XAML代码片段如下所示:

<TextBox Text="你好" Height="30" Width="100"></TextBox>

(2)通过Property属性元素语法设置元素的属性

在实际应用中,还可以通过定义Property属性元素来设置一个元素的属性,也就是在定义元素时将其属性定义成子元素,此时子元素开始标签的组合形式是"<元素名.属性名>",其语法格式如下所示:

<元素名>

  <元素名.属性名>

      <!--在此处设置属性值-->

  </元素名.属性名>

</元素名>

其中,属性值可以是基本数据类型,也可以为元素。

例如,定义一个Button元素,并通过Property属性元素语法设置它的Content属性值为"确定",相应的XAML代码片段如下所示:

<Button>

    <Button.Content>

        确定

    </Button.Content>

</Button>

对于复合型元素(如ComboBox),有些属性并不是基础元素,无法通过Attribute特性语法来设置这类属性,就可以使用Property属性元素方法。例如,在一个打开的Windows应用商店项目中新建一个空白页,并命名为ComboBoxPage,双击打开此页面的ComboBoxPage.xaml文件,在Grid元素中添加如下代码:

<ComboBox
Margin="249,99,702,395">

    <ComboBox.Items>

        <ComboBoxItem Content="1"/>

        <ComboBoxItem Content="2"/>

    </ComboBox.Items>

</ComboBox>

由于ComboBox元素的Items属性并不是基础元素,因此在上面的代码中通过定义ComboBox.Items属性元素来设置这个属性,并在该属性元素内定义两个ComboBoxItem元素为Items属性赋值。

运行此页面,会显示出一个下拉列表框,界面效果如图3-1所示。单击下拉箭头,所有列表项就会展现出来,在本示例中下拉列表框的列表项是"1"和"2",效果如图3-2所示。


图3-1 下拉列表框的界面效果 图3-2 单击下拉箭头之后的效果

像ComboBox元素的Items属性,它的属性值是一个数据集,对于这类属性,XAML还提供了隐式数据集设置方式,以简化代码的复杂性,提高易读性。例如,对于上面示例中的下拉列表框,使用隐式数据集方式来设置列表项,修改上面的XAML代码,如下所示:

<ComboBox Margin="249,99,702,395">

    <ComboBoxItem Content="1"/>

    <ComboBoxItem Content="2"/>

</ComboBox>

运行得到的效果与图3-1和图3-2中显示的效果是一样的。可以看出,修改的代码中没有定义ComboBox.Items属性元素,仍旧可以实现为ComboBox设置列表项,代码更简洁。

Win10系列:UWP界面布局基础2的更多相关文章

  1. Win10系列:UWP界面布局基础1

    随着技术的不断发展,使用者对应用程序的界面体验提出了更高的要求,为了应对越来越复杂的界面设计需求和有效的简化界面开发过程,微软公司在其应用程序的开发技术当中引入一套新的应用程序界面描述语言,这就是XA ...

  2. Win10系列:UWP界面布局基础8

    路由事件 XAML不仅继承了传统的事件处理方式,还引入了一个增强型事件处理机制:路由事件(RoutedEvent).路由事件和传统事件的不同是:路由事件允许一个对象触发事件后,可以同时拥有多个事件接收 ...

  3. Win10系列:UWP界面布局基础7

    2.附加属性 有一些XAML元素,其自身的属性大多是在其它的元素中声明和使用的,该元素本身却很少使用,这些在其他元素中声明和使用的属性被称为附加属性(Attached Properties).附加属性 ...

  4. Win10系列:UWP界面布局基础4

    类型转换 前面讲到过,在定义元素时可以通过Attributes特性方式为其设置属性并为属性赋值,在实际开发中所赋予的值可能和属性本身的数据类型不相符,这时XAML解析器就会使用类型转换器(Type C ...

  5. Win10系列:UWP界面布局基础12

    画刷 画刷(Brush)用于为图形元素填充颜色.在XAML中,画刷有许多属性,其中较常使用的是Fill属性和Stroke属性,Fill用于填充图形的背景色,而Stroke用于设置图形的线条颜色. 在实 ...

  6. Win10系列:UWP界面布局基础11

    样式继承 为了使样式便于维护及重复使用,可以在一个样式上引用其他的样式,这就是样式继承.样式继承的方法是:在Style元素的BasedOn属性上使用StaticResource标记扩展来引用被继承的样 ...

  7. Win10系列:UWP界面布局基础5

    (2)编写后台代码访问资源 下面通过一个例子来演示如何编写后台代码引用资源.新建一个Windows应用商店的空白应用程序项目,将其命名为AccessResourceApplication,打开项目下的 ...

  8. Win10系列:UWP界面布局基础3

    在实际项目开发中,为控件属性赋值时经常会遇到属性值在设计时处于未知状态,而只有在应用程序运行时才能获取到.这种情况下,直接赋值方法是无法满足的,可以使用XAML标记扩展(Markup Extensio ...

  9. Win10系列:UWP界面布局基础9

    在XAML中,样式.模板.画笔和动画等都被看做是资源,它们最终的作用都是相同的,就是让设计人员可以使用这些资源创建更好的视觉效果,对其设计的产品外观进行标准化统一,那么如何使用这些资源并组织和重用呢, ...

随机推荐

  1. img 下方的4px像素问题

    问题:在一个div块里面放了一个图片,图片下面有内容,可以不管怎么调试,在火狐浏览器,IE6下.图片img底部多出了4个像素 解决:img样式中   vertical-align: top/middl ...

  2. List、Map、Set的区别与联系

    重复和有序 List 存储的元素是有顺序的,并且值允许重复: Map 元素按键值对存储,无放入顺序 ,它的键是不允许重复的,但是值是允许重复的: Set 存储的元素是无顺序的,并且不允许重复,元素虽然 ...

  3. vue中 父子组件的通讯

    1.父组件可以使用 props 把数据传给子组件. 2.子组件可以使用 $emit 触发父组件的自定义事件 实例: 父组件: layout.vue  子组件:logform.vue 子组件: < ...

  4. redux与redux-react使用示例

    redux使用 <script type="text/babel"> var Counter=React.createClass({ incrementIfOdd:fu ...

  5. ZOJ 3965 Binary Tree Restoring

    Binary Tree Restoring 思路: 递归 比较a序列和b序列中表示同一个子树的一段区间,不断递归 代码: #include<bits/stdc++.h> using nam ...

  6. Spring Boot的@SpringBootApplication无法引入的问题

    转自:https://blog.csdn.net/cckevincyh/article/details/78962002 今天搭建了springboot,一开始遇到了一个问题,在自己创建的HelloA ...

  7. C#模拟HTTP请求并发送二进制

    public static String Submit(String methodName) { string postData = "this is post data";//请 ...

  8. Servlet Exception and Error Handling

    Servlet API support for custom Exception and Error Handler servlets that we can congiure in deployme ...

  9. Learn Python3 the hard way 第一天总结 命令行(1)

    附录-命令行快速入门(1) command line interface 简称 CLI ,可以在mac OS 上通过一些输入进行一些操作. 1如何在迷路后怎样回家 命令: pwd:打印工作目录cd 更 ...

  10. lncRNA表达定量方法评估

    见文章:Benchmark of lncRNA Quantification for RNA-Seq of Cancer Samples Overall, 10-16% of lncRNAs can ...