转载地址:http://www.cnblogs.com/shuang121/archive/2013/01/12/2857906.html

在我看来,学习WPF,最重要的还是学习它的布局,样式的使用,类似于web页面布局的优点是winForm所不能及的,可以通过它灵活的布局,样式的添加,从而制作出很多很炫的界面,下面就简单的总结下关于WPF中样式的几种用法:

我们以按钮Button为例,比如改变它的背景颜色或者添加图片背景,在这里需要说明的是,不是每一种样式都能实现同样的效果

方法一:直接在button里使用Background赋值即可,这个是最简单的,但是有些样式会实现不了,一些简单的还是可以的

 <Button Content="Button" Height="23" Background="Yellow" HorizontalAlignment="Left" Margin="10,10,0,0" Name="button1" VerticalAlignment="Top" Width="75" />

方法二、通过Button.Background为其添加图片背景

   <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="10,47,0,0" Name="button2" VerticalAlignment="Top" Width="75">
<Button.Background>
<ImageBrush ImageSource="/Images/按钮背景.png" />
</Button.Background>
</Button>

在这里说明一下,图片的路径也可以改成 <ImageBrush ImageSource="/项目程序集名;component/Images/按钮背景.png" />

下面的几种方法都是通过资源来完成的(关于资源,在后面会讲到)

方法三、内部定义资源如:Button.Resources

    <Button Content="Button" Height="41" HorizontalAlignment="Left" Margin="10,126,0,0" Name="button4" VerticalAlignment="Top" Width="75">
<Button.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#FF1F3B53"/>
</Style>
</Button.Resources>
</Button>

方法四、在窗体中定义资源,然后再控件中调用

首先,定义一个资源

    <Window.Resources>
<Style x:Key="buttonStyle" TargetType="Button">
<Setter Property="Foreground" Value="#999999"/>
</Style>
</Window.Resources>

然后就可以再控件中调用了

?
<Button Content="Button" Height="23" Style="{StaticResource buttonStyle}"  HorizontalAlignment="Left" Margin="10,204,0,0" Name="button5" VerticalAlignment="Top" Width="75" />

方法五、类似web中在外部定义样式,然后再窗体中调用

处理方式一、

首先,定义个外部样式ButtomStyle.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="Button">
<Setter Property="Height" Value="500"></Setter>
<Setter Property="Foreground" Value="#aaaaaa"/>
<Setter Property="Background" Value="#FF1F3B53"/>
</Style>
</ResourceDictionary>

然后再窗体中引入这个样式

 <Window.Resources>
<ResourceDictionary x:Key="butStyle">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="style/ButtomStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>

注意:引入样式的时候需要加一个key,这样下面的才可以调用
    然后就可以再控件中调用了

  <Button Content="Button" Height="23" Resources="{StaticResource butStyle}" HorizontalAlignment="Left" Margin="152,12,0,0" Name="button6" VerticalAlignment="Top" Width="75" />

方式处理二、在App中加载样式
      定义外部的样式为:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="Button" x:Key="bstyle">
<Setter Property="Height" Value="500"></Setter>
<Setter Property="Foreground" Value="#aaaaaa"/>
<Setter Property="Background" Value="#dddddd"/>
</Style>
</ResourceDictionary>

然后再app中加载

<Application x:Class="WpfApplication2.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="样式的用法/ButtonStyleDemo.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="样式的用法\Style\buttonStyleApp.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

这样直接调用样式的key即可

        <Button Content="Button" Height="23" Style="{StaticResource bstyle}" HorizontalAlignment="Left" Margin="152,58,0,0" Name="button7" VerticalAlignment="Top" Width="75" />

如果先弄一个全局的样式,那么不需要定义key即可,也不用再控件中调用,这样就行了

上面是就button为例子,简单介绍了一下wpf中布局中所用到的资源,样式等,具体的到时候遇到了问题,在具体解决一下!

WPF 美化界面,样式的使用相关推荐

  1. java窗口样式_美化窗口样式 java窗口界面美化包

    Axure实战006:如何美化单选复选框按钮样式? 在Axure提供的组件中,复选框的样式是固定的,不能修改.如果你想美化复选框的样式,你只能自己做.有两种方法可以美化它: 1.用构件形状作画,并通过 ...

  2. WPF初学——自定义样式

    在WPF开发界面的过程中,经常会遇到多个相同种类的控件样式也是统一的,但是要一个一个地去设置,即使是复制粘贴都嫌累,所以翻了些书,网上度娘了一些材料,发现WPF有很容易的方式解决我的纠结,那就是--自 ...

  3. 下拉框_jQuery 美化界面的下拉框

    插件简介 之前我们介绍过一款基于jQuery多级联动美化版Select下拉框,很多朋友都非常喜欢,可见经过美化过的下拉框的确可以让你的网页更为精妙.今天我们要介绍的这款美化界面下拉框也是基于jQuer ...

  4. React 界面样式设计

    当我们完成程序的基本功能后,不对程序界面进行打磨妆点,那么过于素颜的界面,对用户是产生不了吸引力的.对于网页应用而言,用来美化界面的技术,一直都是CSS,CSS是一种好技术,它能将界面的美化和程序的功 ...

  5. WPF登录界面demo

    概述: 此WPF登录界面demo用了自定义按钮样式和添加了窗体阴影,并加入了旋转.缩放等动画实现的,运行效果如下: App.xaml页面代码: <Application x:Class=&quo ...

  6. C#添加美化包样式 索引的制作,NavMenu组件与TabControl添加页面

    我所做出来的效果图 使用的工具是Visual Studio 1.C#添加美化包样式 1.引用我们样式包 2.将代码中的 Form1:form改成我们引用的样式名 并调用我们的样式 之后就能发现form ...

  7. WPF XAML 资源样式模板属性存放位置

    WPF XAML 资源样式模板属性存放位置 原文:WPF XAML 资源样式模板属性存放位置 WPF的XAML 资源申明 类似HTML. 整体来说分3种 1.行类资源样式属性 1.1 行内属性 < ...

  8. 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题

    [Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 参考文章: (1)[Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 ( ...

  9. img 隐藏_CSS3界面样式和溢出文字隐藏overflow

    哈喽大家好,我是作者"未来",本期分享的内容是Web前端系列课程,本系列总共29个阶段,坚持学习3个月蜕变为Web前端高手哦! 志同道合的小伙伴跟我一起学习交流哦! 第二阶段 CS ...

  10. WPF快速入门系列(6)——WPF资源和样式

    WPF快速入门系列(6)--WPF资源和样式 一.引言 WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用.而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一 ...

最新文章

  1. 在抖音推荐算法组工作的体验
  2. 剑指offer:旋转数组的最小数字
  3. .NET开发必备网址
  4. SQL2008使用json.net实现XML与JSON互转
  5. [Ext JS 4] 实战之多选下拉单 (带checkbox) 续 - 带ALL 选项
  6. ofstream 二进制 文本_C/C++读写文本文件、二进制文件的方法
  7. php模版推送方法,PHP快速推送微信模板消息
  8. 【计算机网络】实验报告三:Cisco Packet Tracer 实验
  9. PCB layout的基本原则
  10. PHP连接MYSQL没有反应
  11. HTML制作菜鸟教程网站首页
  12. jacob实现ppt转图片时存在的问题
  13. VUE(11) : 图片点击全屏展示
  14. 文件管理器和FTP客户端:ForkLift for Mac
  15. 自动驾驶开发中的地图
  16. c#利用log4记录日志
  17. 代码详解:手把手教你建立自己的视频分类模型
  18. 使用shardingJDBC实现数据库的分库分表
  19. PhotoZoom Pro—图片“无损”放大
  20. [Unity3D]简单的UGUI滑条控制物体移动

热门文章

  1. python将一个文本文件复制到另一个文件中_使用Python逐行从一个文本文件复制到另一个文本文件...
  2. 预测自适应滤波_使用自适应滤波的时间序列预测
  3. 机器学习中特征选择_机器学习中的特征选择
  4. mysql重复执行命令_mysql----------mysql的一些常用命令
  5. mfc cimage加载显示图片_OpenCV加载图片显示对应类型(位深度)方法
  6. BZOJ2330:[SCOI2011]糖果(差分约束)
  7. 关于Adaper的相关用法
  8. 一些压力测试结果(Mysql,Zookeeper,Redis,Mongodb)
  9. 土制状态机在工作流引擎中的应用
  10. elasticsearch批量数据导入和导出