博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Silverlight 样式的灵活使用
阅读量:5962 次
发布时间:2019-06-19

本文共 4624 字,大约阅读时间需要 15 分钟。

      众所周知,Silverlight将界面设计与代码实现分开。即便如此,如果不能灵活地运用样式Style,开发的效率依然会比较低。比如,针对类似的TextBlock,你可能需要反复地在设计器xaml中复制粘贴很多行设计器代码。但如果开发人员掌握了样式的使用,可以一次设计,到处使用。

      (一)获取一个控件的样式Style文件

       这里以FloatableWindow控件为例

       (1)打开一个继承自FloatableWindow的控件OverlapControl的设计器文件OverlapControl.xaml,在菜单栏中点击”视图->在Blend中打开“(View->Open in Blend),如下如所示

          

        (2)打开Blend之后,在Object and Timeline视图中,右键"FloatableWindow",并选择“Edit Template->Create Empty”,创建新一个新的资源字典ResourceDictionary.xaml:

         

        (3)假如该控件没有与任何ResourceDictionary文件关联,则需要新建一个资源字典文件ResourceDictionary:

         

        (4)修改资源字典文件的名称,点击“确定”(OK),如此,就可以在当前目录看到创建的资源字典文件FloatableWindowStyle.xaml

         

          

             此时,在OverlapControl.xaml设计器文件中,会多上几行引用的代码:

            

 

      (二)调整或设置控件的样式Style文件

       此时,重新再Blend中打开OverlapControl.xaml或者打开FloatableWindowStyle.xaml,可以对FloatableWindow的样式进行调整,或者设置其对应的参数:

       (1)打开编辑样式资源的开关:

       

      (2)随后,在视图区中,可以看到FloatableWindow的简单视图:

        

        (3)选中“属性”(Properties)选项卡,可以非常方便地设置该控件的参数:

           

          (4)当然,开发人员也可以在设计器文件中直接调整参数的值,一下代码本人调整好后的代码:

          

1 
4
5
6
7
8
9
10
11 12
13 14
126 127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
174
175
176
177
178
179
180
181
182 183
184
185
186
187 188
189
190
191
192
198
199
200
201
202
203
204
205
206
207
208 209
210
211 212
213
214
215
216
217 218
219
221 222
223
225
226
227 228
229
230
231
232
233
236
237
238
239
240 241 242 243 244 245
FloatableWindowStyle.xaml

          

           (5)简单地介绍一下如何设置一个控件的样式Style

            首先设置一个标签<Style ></Style>,并设置一个x:Key,以作为引用的依据,并设置目标空间类型:TargetType。

            利用如下的语句可以设置属性类型和属性值:

            通过自己的观察,可以研究其他类型的样式设计,比如色刷、渐变色等。

      (三)引用控件的样式Style或样式文件

            在“(一)(4)”中已经提到了资源字典文件ResourceDictionary的引用。此类文件,其实也是一种资源,与图片等资源的引用有些类似。

            (1)比如,你在某一个工程下面设置了一个资源字典文件DropDownMenu.xaml,假如要在整个解决方案solution中引用,可以在App.xaml中做如下的引用

            

           (2)如果开发者想在某一个控件中引用一个样式,可参考如下语句:

            

           (3)如果给某一个窗口控件定义了样式,可参照如下的样式引用:

             

           

         小结一下,Silverlight支持界面的灵活设计,其与底层逻辑剥离,比较容易实现。同时资源字典文件和样式的使用可以大大提高已有界面的重用行,进而提高开发效率。而要获取某一个空间的资源文件,Blend会是一个很好的工具。所以,将Blend与资源字典文件结合使用,一定可以大大丰富界面,提升开发的进度。

 

转载于:https://www.cnblogs.com/dowtowne/p/4060087.html

你可能感兴趣的文章
如何使用缓存提高程序性能
查看>>
【trie树】HDU4825 Xor Sum
查看>>
服务器搭建4 安装其它库
查看>>
CAD绘制栏杆5.10
查看>>
自动化学习
查看>>
JS中的!=、== 、!==、===的用法和区别。
查看>>
vs2017 增加平台集
查看>>
Kinect+OpenNI学习笔记之10(不需要骨骼跟踪的人体多个手部分割)
查看>>
spring mvc(4)处理模型数据
查看>>
JS 判断当前使用浏览器名及版本
查看>>
让所有浏览器支持HTML5 video视频标签
查看>>
Socket 详解
查看>>
[Android Pro] Java进阶学习:jar打包详解
查看>>
xampp-apache配置
查看>>
zabbix专题:第十二章 zabbix proxy分布式监控配置
查看>>
tar 命令的详解
查看>>
Android Studio第二十七期 - RecycleView不同item布局
查看>>
穷人的分布式网络
查看>>
FR-TO-FR本地交换
查看>>
Python内置容器(2)——字典,迭代器,列表解析
查看>>