惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
月光博客
月光博客
腾讯CDC
Engineering at Meta
Engineering at Meta
博客园 - Franky
Vercel News
Vercel News
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
GbyAI
GbyAI
B
Blog
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog

博客园 - hades

python + selenium webdriver 自动化测试 之 环境异常处理 (持续更新) 推荐一个娱乐化学习python的网站 Silverlight 导出Excel Silverlight Control(三)DataGrid Silverlight Control(二)ListBox Silverlight 中使用 WCF RIA Service Silverlight Control(六)GroupBox Silverlight Control(五)TimePicker 在Silverlight中请谨慎使用MVVM Silverlight Chart 综合运用(样式、多轴、数据绑定、点状图、线形图、DataGrid、Chart导出综合运用) C# 关闭其他程序窗口、进程 Silverlight Control(四)Chart (1) 初体验 Silverlight 如何导出图片 Silverlight Control(一)ComboBox 数据绑定、自定义、取值 Silverlight Style (一) 如何在页面应用样式 Silverlight Binding (One Time,One Way,Two Way) ASP.NET项目中不能有重名的文件夹 给部队做项目开发的一点想法 企业工作流的定制(SPS实现)
Silverlight Style (二) 自定义样式在后台代码中应用
hades · 2010-08-06 · via 博客园 - hades

上一章我们了解到了如何在页面或者App.xml文件中创建自定义样式,以及如何在页面文件中应用自定义的样式。本章将介绍如何在后台应用自定义样式,以及如何在后台自定义样式。

一、应用已有的自定义样式:

拿上一章我们自定义的样式举例:

<Application xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
             xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml 
             x:Class="MyApp.App">
   
<Application.Resources>
       
<Style x:Name="MyTextBoxStyle" TargetType="TextBlock">
           
<Setter Property="FontSize" Value="10"></Setter> 

            <Setter…></Setter>

            <Setter…></Setter>
       
</Style>
   
</Application.Resources>
</Application>

那么我们如何通过后台编码将这一样式应用到控件上呢?其实很简单,只需要一行代码即可:

textBlock.Style = Application.Current.Resources["MyTextBoxStyle"] as Style;


上面的样式是定义在App.xml中的全局样式,如果我们需要应用定义在页面中的样式,只需要稍作调整,代码如下:

textBlock.Style = Resources["MyTextBoxStyle"] as Style;

二、自定义样式:

了解了如何应用在页面文件中定义的样式,朋友们大概会问到,那么我们如何在后台直接定义样式呢?

下面我们就来介绍如何在后台自定义样式。

通过在学习如何在页面中定义样式,我们了解到,Silverlight的样式包含如下结构:

<Style x:Name="MyTextBoxStyle" TargetType="TextBlock">
           
<Setter Property="FontSize" Value="10"></Setter> 

</Style>

所以,很显然,我们在后台定义样式也需要用到这两个对象,Style Setter,下面是一段简短的示例代码:

代码

System.Windows.Style btnStyle =new System.Windows.Style();
btnStyle.TargetType
=typeof(System.Windows.Controls.Control);
Setter setterRed
=new Setter(System.Windows.Controls.Control.BackgroundProperty, new SolidColorBrush(Colors.Red));
btnStyle.Setters.Add(setterRed);
this.btnClick.Style = btnStyle;

大家可以看到,按钮的背景色变成了红色。当然,根据不同的需求,在一个样式中可以添加多个Setter

关于简单样式的自定义和应用我们就介绍到这里,在以后的章节中,特别是在Chart的处理时我们需要更多的运用样式,

在后面的章节中我们会详细介绍更多与样式相关的知识。