`

WPF中Style的使用

    博客分类:
  • WPF
阅读更多

Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了大量的复杂属性的设置。

   在WPF中,设置外观样式我们有很多种方式,比如通过设置控件的属性来控制控件的外观样式;或者通过在每一个控件中分别设置Style;或者通过在整个Window.Resource中设置Style,又或者在App.xaml的Application.Resource设置Style。

   在此我们就不讨论第一种方式设置控件的外观了,因为这不涉及到Style的使用。那么后三种设置样式来控制控件的外观有什么区别呢?那么我们来分别讨论吧!

   第一,通过在每一个控件中分别设置Style来控制控件的外观,示例代码如下:

<Button Content="Button" Height="23" Name="button3" Width="75">
      <Button.Style>
           <Style TargetType="Button">
                 <Setter Property="Background" Value="Black" />
           </Style>
       </Button.Style>
</Button>

 

以上样式的设置只正对当前的Button有效,与其他同种类型的控件无关。

  第二,通过在Window.Resource中设置Style来控制控件的外观,示例代码如下:

<Window.Resources>
        <Style TargetType="Button">
            <Setter Property="Background" Value="LightBlue" />
        </Style>
    </Window.Resources>

 

以上样式的设置,针对整个Window的所有Button有效(只要没有单独的对Button设置),这种方法呢,相对于第一种来说减少了代码量。同时修改起来出错的可能性较小!

第三,通过在App.xaml中的Application.Resource中设置Style来控制控件的外观,示例代码如下:

<Application.Resource>

<Style TargetType="Button">
            <Setter Property="FontFamily" Value="MS Reference Sans Serif" />
            <Setter Property="Background">
                <Setter.Value>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                        <GradientStop Color="White" Offset="0"/>
                        <GradientStop Color="SkyBlue" Offset="0.2"/>
                        <GradientStop Color="SkyBlue" Offset="0.8"/>
                        <GradientStop Color="White" Offset="1"/>
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
        </Style>

</Application.Resource>

 

以上样式的设置,针对整个Application的所有Button有效(只要在Window.Resource或者独立的Button中没有分别设置),这种方法来设置控件的外观样式呢,相对于前两种来说,代码量有大幅的增加,同时呢,在一个应用程序中,往往同种类型的控件的很多属性都是相同的,我们在Applicaiton.Resource进行全局设置,使其维护更加方便!

分享到:
评论

相关推荐

    C# wpf 在style中自定义标题栏及无边框窗口

    本资源实现了一种wpf在style中自定义标题栏无边框窗口的方法。style内部的实现其实没那么简单,尤其是实现按钮逻辑以及拖动逻辑,需要在style中关联cs代码,这就要求我们熟悉绑定技巧、附加属性还有ContentPresenter...

    WPF中Style样式原理分析

    ### WPF中Style样式原理分析 ...通过以上的介绍可以看出,在WPF中合理地使用`Style`不仅可以提高界面的一致性,还可以极大地简化代码量,提高开发效率。理解`Style`的工作原理对于高效开发WPF应用程序至关重要。

    wpf_外部引用style

    2. 引用资源字典:要在其他`.xaml`文件中使用这些样式,你需要将`Styles.xaml`引入到你的主窗口或者资源字典中。这可以通过两种方法实现: - 使用`MergedDictionaries`属性:在主窗口或用户控件的资源字典中,添加...

    wpf 使用style

    本示例将探讨如何在WPF项目中使用`Style`来设置控件的样式和行为。 1. **什么是Style** `Style`是WPF中的一种资源,用于定义控件的默认外观和行为。它可以包含一个或多个`Setter`,每个`Setter`用于设置控件的一个...

    wpf修改style DataTrigger

    在WPF(Windows Presentation Foundation)中,样式(Style)是一种强大的机制,用于统一和自定义控件的外观和行为。Style可以通过多种方式定义,包括触发器(Triggers)和数据触发器(DataTriggers),它们使得我们...

    WPF listView Style Group

    在本篇文章中,我们将深入探讨如何利用 WPF ListView Style Group 技术来实现列表的分组显示,以及相关的知识点。 首先,理解ListView的基础是至关重要的。ListView 是基于 ItemsControl 的,它通过 ItemTemplate ...

    wpf DataGridStyle

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,常用于显示和编辑表格数据。本文将深入探讨如何自定义`DataGrid`的列标题样式、行样式、鼠标悬浮及选择样式,以及滚动条的样式,帮助你...

    WPF中TeeChart的使用案例

    在WPF项目中使用TeeChart,首先需要获取TeeChart的WPF版本库,这可以通过NuGet包管理器或者直接下载官方提供的dll文件完成。添加引用后,可以在XAML文件中引入TeeChart的命名空间,并在代码-behind中创建TeeChart...

    bootstrap-wpf-style-master 样式

    开发者可以直接在 WPF 应用程序中使用这些组件,以快速构建用户界面。 9. **性能优化**:引入外部 CSS 和 JavaScript 可能会影响 WPF 应用程序的加载速度。为了优化性能,可以考虑使用本地资源文件,减少网络请求,...

    WPF 样式 style 滑动开关 实现的效果像checkbo好看的开关一样

    在Windows Presentation Foundation (WPF) 中,样式(Style)是一种强大的机制,用于定义UI元素的外观和行为。这里我们关注的是如何使用样式(style)来创建一个滑动开关,这种开关通常被称为ToggleSwitch,其视觉效果...

    WPF中WebBrower使用

    本篇文章将详细介绍如何在WPF应用中使用WebBrowser控件,以及如何实现多窗口浏览。 WebBrowser控件实际上是基于Internet Explorer(IE)引擎的,因此它具有与IE相同的功能,比如导航、前进、后退、刷新等。在WPF...

    WPF DataGrid Style

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,用于展示和编辑数据集。这个`WPF DataGrid Style`资源提供了一个预定义的样式,旨在优化`DataGrid`的外观和交互体验。下面我们将深入...

    ListBox Style IN WPF

    2. **样式和模板**:在WPF中,你可以通过两种方式来改变ListBox的外观:样式(Style)和模板(Template)。样式主要用于更改控件的整体外观,如背景色、边框和字体等;而模板则允许你自定义控件内部的结构和视觉表现...

    C# wpf style中实现可定制的自定义标题栏

    上一章我们实现了在style中自定义标题栏,解决了复用性的问题。但是在实际使用中,还是存在一些问题的,比如有些界面需要放几个菜单在标题栏或者不需要最大化按钮等,就会变得很不灵活。这时候就需要对style进行...

    C# wpf style实现PART可替换控件

    在style中定义了一些样式,比如容器的外部样式(比如自定义窗口标题栏,此时窗口是容器,标题栏是外部样式),使用时只能在容器内部放置控件,此时想要在容器的外部样式中添加控件是不行的。但有时候需要在不同的...

    WPF做的样式实例 利用Style的事例 WPF项目必备的组件

    在Windows Presentation ...通过学习和应用这些示例,你可以快速掌握如何在WPF项目中使用Style来提升用户体验,同时减少重复的代码编写。在实际项目开发中,灵活运用样式和模板,可以让你的程序更加专业和个性化。

    WPF异步定时发送验证码 同时修改button的style样式

    本篇文章将详细探讨如何在WPF应用中实现这些功能。 首先,异步发送验证码通常涉及到网络通信,如HTTP请求或SMTP邮件服务。在WPF中,我们可以利用`System.Net.Http.HttpClient`类来发起异步请求,这样不会阻塞UI线程...

    wpf 实现按钮style

    wpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮stylewpf 实现按钮style

    WPF - TabControl - Style用法

    学习在WPF当中如何使用Style定制TabControl的样式,包含TabControl的页面选项切换的简单动画效果。原始代码网上找的,我改了一些代码。

    Wpf TabControl Style

    在 WPF 中,我们可以使用 `ControlTemplate` 来完全重构 `TabControl` 的外观。`TabControl` 的模板包含 `TabPanel`(用于显示标签)和 `ContentPresenter`(用于显示内容)。以下是一个简单的模板示例: ```xml ...

Global site tag (gtag.js) - Google Analytics