随笔 - 72  文章 - 0 评论 - 23 阅读 - 17万
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

SilverLigth学习笔记--控制 Silverlight控件样式

1、内联方式--即直接在控件内部利用其属性进行设置

 

复制代码

<UserControl x:Class="RemoveTextBoxBorder.Page"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width
="400" Height="300">
    
<Grid x:Name="LayoutRoot" Background="White">
        
<Button Content="Button" Height="75" Width="125" BorderBrush="Green" Foreground="Blue" />
    
</Grid>
</UserControl>
复制代码

2、全局方式--在 App.xaml Resources 文件中进行定义
当你在VS2008中创建Silverlight项目中,你会得到一个名叫 "App.xaml"的文件,此文件格式如下:

 

复制代码

 <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
             x:Class
="RemoveTextBoxBorder.App"
             
>
    
<Application.Resources>
    
</Application.Resources>
</Application>
复制代码

 在此文件中你可以定义自己的样式,定义样式采用如下格式:

 

 

 <Style x:Key="样式名" TargetType="样式所针对的控件类型"> 
   
<Setter Property="控件属性名" Value="控件属性值" />
 
</Style>

 在本示例中我们在此文件加入如下样式定义,加入后的App.xaml文件内容如下

 

复制代码

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
             x:Class
="RemoveTextBoxBorder.App"
             
>
    
<Application.Resources>
        
<Style x:Key="ButtonStyleOne" TargetType="Button">
            
<Setter Property="BorderBrush" Value="Green" />
            
<Setter Property="Foreground" Value="Blue" />
            
<Setter Property="BorderThickness" Value="4,4,4,4" />
        
</Style>
        
<Style x:Key="ButtonStyleTwo" TargetType="Button">
            
<Setter Property="BorderBrush" Value="Blue" />
            
<Setter Property="Foreground" Value="Green" />
        
</Style>
    
</Application.Resources>
</Application>
复制代码

然后我们在控件的XAML文件中引用所定义的样式

 

复制代码

<UserControl x:Class="RemoveTextBoxBorder.Page"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width
="400" Height="300">
    
<Grid x:Name="LayoutRoot" Background="White">
        
<Button Content="Button" Height="75" Width="125" Style="{StaticResource ButtonStyleOne}"  />        
    
</Grid>
</UserControl>
复制代码

 

3、在 C#代码中动态设置控件样式
 为了在代码中引用此控件,我们必须要为此控件命名,在此我们命名为"MyButton"

 

<Button x:Name="MyButton" Content="Button" Height="75" Width="125" />     

然后在Page.xaml的code-behind 文件中,在其构造函数中加入如下代码:
   MyButton.Style = Application.Current.Resources["ButtonStyle"] as Style;
 后台代码如下:

复制代码

     public partial class Page : UserControl
    {
        
public Page()
        {
            InitializeComponent();
            MyButton.Style 
= Application.Current.Resources["ButtonStyleOne"as Style;
        }
    }
复制代码

 

 Silverlight学习笔记清单

posted on   aking96  阅读(137)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 上周热点回顾(1.20-1.26)
· 【译】.NET 升级助手现在支持升级到集中式包管理
点击右上角即可分享
微信分享提示