zoukankan      html  css  js  c++  java
  • WPF中的样式

    wpf中的资源和样式有很大关联

    wpf的窗口样式设计模式和web方式很一样。可以单独设置某个控件的样式,也可以设置一个公用的样式和htm中css方式很一样

    wpf中window和page两个图形界面,都可以设计独立公共样式
    在window中可以这样定义
    <Window.Resources>//资源。在资源中写样式style
            <Style TargetType="TextBlock">//就就是一个样式,相当于css中样式类。targettype是样式的作用对象。这里面省略了X:key相当于这个样式的ID。这样的话这个样式就应用到这个window中所有的textbloack控件了。
                <Setter Property="HorizontalAlignment" Value="Center"></Setter>///属性和value对应
                <Setter Property="FontFamily" Value="Comic Sans MS"/>
                <Setter Property="FontSize" Value="14"/>

            </Style>
        </Window.Resources>
    Page中也是同样的设置。只是将Window.Resources改为Page.Resources

    当然某个windows或page中设置的样式只能本窗口使用。
    但是也有个全局的应用程序级别的样式。那就是在App文件中设置  <Application.Resources>。这样的话其他页面和窗口都可以使用其中的样式

    样式的扩展或继承
    经常会有这个情况。你设置了某个公用样式。但是某些控件可能要在这个公用样式的基础上坐些不同的设置。最好的方法就是写一个新样式可以继承原来的老样式,然后添加一些新的属性。style的baseon属性提供了这个功能

    比如样式
    <Style x:Key="Style1"> <Setter Property="Control.Background" Value="Yellow"/> </Style>
    新的样式可以这样写:
    <Style x:Key="Style2" BasedOn="{StaticResource Style1}"> <Setter Property="Control.Foreground" Value="Blue"/> </Style>
    你们style2就是背景为yellow,前景为blue的样式了。
    basedOn用法比较简单,BasedOn="{StaticResource Style1}"//指定以前样式的x:key就可以。但是前面举的例子么呀x:key属性,那就可以这样写:BasedOn="{StaticResource {x:Type TextBlock}}"

    也可以通过编程方式来设置样式,比如
    textblock1.Style = (Style)(this.Resources["TitleText"]);

    使用xaml方式使用样式

    Style="{StaticResource StyleName}"





    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    Android 自定义title样式
    HDU 3094 A tree game 树删边游戏
    设计模式学习笔记观察者模式
    [Unity-7] Update和FixedUpdate
    一淘搜索网页抓取系统的分析与实现(3)—scrapy+webkit &amp; mysql+django
    POJ 1947 树DP获得冠军
    linux 下一个 jira-6.3.6 组态 皴 翻译 迁移数据库
    阐述linux IPC(五岁以下儿童):system V共享内存
    使用OpenCV玩家营造出一个视频控制(没有声音)
    Swift编程语言学习4.1——周期
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319384.html
Copyright © 2011-2022 走看看