WPF开发学习:资源在内外部定义的不同方式和怎么引用,Style样式的四种使用(对比CSS)

WPF中UserControl 绑定样式(小白教程) 1.绑定xaml页内样式 这个操作只需要对需要更改样式的窗体内进行,不涉及别的页面。适合只需要更改一个窗体内的控件样式。 这里的TargetType是为了绑定控件类型的,也就是当你引用这个样式后,窗体中与样式中控件类型相同的控件,均为引用这个样式。 <UserControl x:Class="WPF登录.View.ManagerAddOperate" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/prese.. 阅读详情

在Web开发中,我们通过CSS来控制页面元素的样式,一般常用三种方式:

1.      内联样式表:即直接设置元素的style属性

2.      嵌入样式表:即在html页面上写一个<style>……..</style>代码段,然后设置元素的class属性

3.      外部样式表:即写一个独立的.css文件,然后再html页面上引入该文件,然后设置元素的class属性

 

具体如何操作,这里就不说了。不懂的去百度一把,绝对会出现一大坨。

 

同样的,在WP7开发中,也有类似以上几种方式设置控件的样式——开发平台可以千差万别,编程思想都是大同小异的。

 

 一,内联样式:

直接设置控件的Height、Width、Foreground、HorizontalAlignment、VerticalAlignment等属性。以设置一个Botton控件的样式为例,如:

复制代码
     < Grid  x:Name ="ContentPanel"   >
             < Button  Content ="Button"  Name ="btnDemo"  
                    Height
="72"  
                    Width
="150"  
                    Foreground
="White"  
                    Background
="Blue"  
                    HorizontalAlignment
="Left"  
                    VerticalAlignment
="Top"  
                    Margin
="170,132,0,0"  
                    Grid.Row
="1"   />
          </ Grid >
复制代码

 这种方式比较简单,但是代码不能复用。

 

 二,嵌入样式:

在页面<phone:PhoneApplicationPage.Resources>节点下添加样式,然后在需要的控件上设置Style属性。还是以上面那个Botton控件为例。 

     1,在页面<phone:PhoneApplicationPage.Resources>节点下添加一个Key值叫“BtnStyle”的样式

复制代码
   < phone:PhoneApplicationPage.Resources >
         < Style  x:Key ="BtnStyle"   TargetType ="Button" >
             < Setter  Property ="Height"  Value ="72"   />
             < Setter  Property ="Width"  Value ="150"   />
             < Setter  Property ="Foreground"  Value ="White"   />
             < Setter  Property ="Background"  Value ="Blue"   />
             < Setter  Property ="HorizontalAlignment"  Value ="Left"   />
             < Setter  Property ="VerticalAlignment"  Value ="Top"   />
         </ Style >
     </ phone:PhoneApplicationPage.Resources >
复制代码
      2,  设置 Botton 控件的 Style 属性为 "{StaticResource BtnStyle}" 
    < Grid  x:Name ="ContentPanel"   >
             < Button  Content ="Button"  Name ="btnDemo"  
                   Style
=" {StaticResource BtnStyle} "
                    Margin
="170,132,0,0"    />
    </ Grid >

 

解释一下,TargetType="Button"指定了该样式适用于Botton类型的控件,Key="BtnStyle"如果不设置该值,则该样式将适用于所有的Botton控件,而设置了其值为“BtnStyle”,则只用于设置了 Style="{StaticResource BtnStyle}"的Botton控件。这就好比CSS中的元素选择器和类选择器。


这种方式可以使得单个页面上的控件能够复用一个样式,比第一种方式面向对象了一步。 

三,外联样式:

1,新建一个.xaml资源文件,如/Resources/BtnStyle.xaml

2, 在BtnStyle.xaml文件里编写样式代码

复制代码
BtnStyle.xaml: 
< ResourceDictionary
  
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:System
="clr-namespace:System;assembly=mscorlib" >
     < Style  x:Key ="BtnStyle"  TargetType ="Button" >
         < Setter  Property ="Height"  Value ="72"   />
         < Setter  Property ="Width"  Value ="150"   />
         < Setter  Property ="Foreground"  Value ="White"   />
         < Setter  Property ="Background"  Value ="Blue"   />
         < Setter  Property ="HorizontalAlignment"  Value ="Left"   />
         < Setter  Property ="VerticalAlignment"  Value ="Top"   />
     </ Style >
</ ResourceDictionary >
复制代码

    
    3,在App.xaml文件的<Application.Resources>

             或者普通页面的<phone:PhoneApplicationPage.Resources>

             或者用户控件的 <UserControl.Resources>  节点下

            添加相应的ResourceDictionary,配置引用BtnStyle.xaml:

复制代码
app.xaml:
     < Application.Resources > 
        
          < ResourceDictionary >
             < ResourceDictionary.MergedDictionaries >
                 < ResourceDictionary  Source ="Resources/BtnStyle.xaml" />
             <!-- <ResourceDictionary Source="Resources/BtnStyle2.xaml"/>
                <ResourceDictionary Source="Resources/BtnStyle3.xaml"/>
-->
             </ ResourceDictionary.MergedDictionaries >
         </ ResourceDictionary >
        
     </ Application.Resources >
或者MainPage.xaml:
< phone:PhoneApplicationPage.Resources >

         < ResourceDictionary >
             < ResourceDictionary.MergedDictionaries >
                 < ResourceDictionary  Source ="Resources/BtnStyle.xaml" />
             </ ResourceDictionary.MergedDictionaries >
         </ ResourceDictionary >

</ phone:PhoneApplicationPage.Resources >
复制代码

 <ResourceDictionary.MergedDictionaries>节点下可以添加多个资源文件

这种方式相比前面两种使得样式和结构又更进一步分离了。

在App.xam引用,是全局的,可以使得一个样式可以在整个应用程序中能够复用。在普通页面中引用只能在当前页面上得到复用。


     4, 
设置Botton控件的Style属性为"{StaticResource BtnStyle}" 和上面的一样。

 

 四,用C#代码动态加载资源文件并设置样式

     1,新建资源文件:同上面的1,2两步。

    2,在后台编写代码           

复制代码
      ResourceDictionary resourceDictionary =newResourceDictionary();

     Application.LoadComponent(resourceDictionary, new Uri("/PhoneApp1;component/Resources/BtnStyle.xaml", UriKind.Relative));
     Application.Current.Resources.MergedDictionaries.Add(resourceDictionary);
     //以上几行代码表示将我们自定义的样式加载到应用程序的资源字典中。
     this.btnDemo.SetValue(Button.StyleProperty, Application.Current.Resources["BtnStyle"]);

复制代码


原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/03/23/2413342.html 

 

 

 

 

 

 

 

 

关于合并资源更详细的介绍见下面

转自:http://blog.sina.com.cn/s/blog_66f3137e0100kopx.html

 1.合并多个外部资源字典成为本地字典

 

语言

XAML

示例代码

<Page.Resources>

 <ResourceDictionary>

    <ResourceDictionary.MergedDictionaries>

      <ResourceDictionary Source="myresourcedictionary1.xaml"/>

      <ResourceDictionary Source="myresourcedictionary2.xaml"/>

    </ResourceDictionary.MergedDictionaries>

 </ResourceDictionary>

</Page.Resources>

 

描述

合并多个外部资源字典成为本地字典。当需要合并更多字典的时候只要在ResourceDictionary.MergedDictionaries节中顺序增加引用。

特别提示

合并字典(MergedDictionaries 集合中的字典)中对同一对象的同一子元素进行定义的时候,会产生覆盖效果:在这种情况下,所返回的资源将来自在 MergedDictionaries 集合中最后一个找到的字典。(在这里会显示myresourcedictionary2.xaml中的定义)。

合并字典(MergedDictionaries 集合中的字典)中对同一对象的不同子元素定义的时候会产生叠加效果。

 

 

2.合并多个外部资源字典到本地字典

 

 

语言

XAML

示例代码

<Page.Resources>

 <ResourceDictionary>

    <ResourceDictionary.MergedDictionaries>

      <ResourceDictionary Source="myresourcedictionary1.xaml"/>

      <ResourceDictionary Source="myresourcedictionary2.xaml"/>

</ResourceDictionary.MergedDictionaries>

<!--A Style that affects all TextBlocks-->

        <Style TargetType="…">

…

        </Style>

         …

 </ResourceDictionary>

</Page.Resources>

 

描述

合并多个外部资源字典到本地字典。当需要合并更多字典的时候只要在ResourceDictionary.MergedDictionaries节中顺序增加引用。

特别提示

合并字典(MergedDictionaries 集合中的字典)中对同一对象的同一子元素进行定义的时候,会产生覆盖效果:在这种情况下,所返回的资源将来自在 MergedDictionaries 集合中最后一个找到的字典。(在这里会显示myresourcedictionary2.xaml中的定义)。

合并字典(MergedDictionaries 集合中的字典)中对同一对象的不同子元素定义的时候会产生叠加效果。

如果资源键在主字典以及合并字典(MergedDictionaries 集合中的字典)中均进行了定义,则所返回的资源将来自主字典。这些范围规则对于静态资源引用和动态资源引用同样适用。

 

 

3.合并外部字典同时对外部字典进行扩充或替代

 

 

语言

XAML

示例代码

<Page.Resources>

 <ResourceDictionary>

    <ResourceDictionary.MergedDictionaries>

      <ResourceDictionary Source="myresourcedictionary1.xaml"/>

      <ResourceDictionary>

Source="myresourcedictionary2.xaml">

<!--A Style that affects all TextBlocks-->

        <Style TargetType="…">

…

        </Style>

         …

</ResourceDictionary>

</ResourceDictionary.MergedDictionaries>

 </ResourceDictionary>

</Page.Resources>

 

描述

合并外部字典同时对外部字典进行扩充或替代组合成本地字典。我们可以看到示例代码中红色的部分就是对外部字典myresourcedictionary2.xaml的一个扩充或者替代( 注意,这不是常见的方案,合并字典的主要方案是合并来自外部文件位置的资源。如果要在页面的标记内指定资源,则通常应当在主 ResourceDictionary(而不是合并字典)中定义这些资源。).当需要合并更多字典只要在MergedDictionaries集合中顺序增加引用。

特别提示

合并字典(MergedDictionaries 集合中的字典)中对同一对象的同一子元素进行定义的时候,会产生覆盖效果:在这种情况下,所返回的资源将来自在 MergedDictionaries 集合中最后一个找到的字典。(在这里会显示myresourcedictionary2.xaml中的定义)。

合并字典(MergedDictionaries 集合中的字典)中对同一对象的不同子元素定义的时候会产生叠加效果。

如果资源键在主字典以及合并字典(MergedDictionaries 集合中的字典)中均进行了定义,则所返回的资源将来自主字典。这些范围规则对于静态资源引用和动态资源引用同样适用。

 

 

 

4. 合并字典和代码

合并字典可以通过代码添加到 Resources 字典中。对于任何 Resources 属性存在的默认 ResourceDictionary(初始为空)还有一个默认的 MergedDictionaries 集合属性(初始为空)。若要通过代码添加合并字典,可以获取对所需的主 ResourceDictionary 的引用,获取它的 MergedDictionaries 属性值,针对包含在 MergedDictionaries 中的泛型 Collection 调用 Add。您添加的对象必须是新的 ResourceDictionary。在代码中,不需要设置 Source 属性,而必须通过创建或加载一个 ResourceDictionary 对象来获取该对象。加载现有 ResourceDictionary 的一种方法就是,针对具有 ResourceDictionary 根的现有 XAML 文件流调用 XamlReader..::.Load,然后将 XamlReader..::.Load 返回值强制转换为 ResourceDictionary。

不建议用这种方式合并外部字典,这使得外部资源文件跟硬编码偶合.

 

5. 合并资源字典 URI

可通过多种方法来包括合并资源字典,这些方法由将要使用的统一资源标识符 (URI) 格式来指示。概括地说,这些方法可以分为两类:作为项目一部分来编译的资源;不作为项目一部分来编译的资源。

对于作为项目一部分来编译的资源,可以使用引用资源位置的相对路径。相对路径是在编译过程中计算的。您的资源必须以“资源”生成操作形式定义为项目的一部分。如果您将资源的 .xaml 文件以“资源”形式包括在项目中,则不必将资源文件复制到输出目录,因为资源已经包括在所编译的应用程序中。您还可以使用“内容”生成操作,但是您必须将文件复制到输出目录,而且还必须将同一路径关系中的资源文件部署到可执行文件中。

 

注意:

不要使用“嵌入的资源”生成操作。该生成操作本身受 WPF 应用程序的支持,但是在解析 Source 时不会合并 ResourceManager,因此无法将单独的资源从流中分离出来。只要您在访问资源时使用的还是 ResourceManager,您仍可以使用“嵌入的资源”来实现其他目的。

 

一个相关方法是使用 XAML 文件的 Pack URI 并称之为“源”。Pack URI 允许引用所引用程序集和其他方法的组件。有关 Pack URI 的更多信息,请参见 Windows Presentation Foundation 应用程序资源、内容和数据文件。

对于不是作为项目一部分来编译的资源,URI 是在运行时计算的。可以使用常见的 URI 传输机制(如 file: 或 http:)来引用资源文件。使用非编译资源方法的缺点在于,file: 访问机制需要额外的部署步骤,而 http: 访问机制则直接使用 Internet 安全区域。

6.重用合并字典

可以在应用程序之间重用或共享合并资源字典,因为要合并的资源字典可以通过任何有效的统一资源标识符 (URI) 来引用。您需要执行的确切操作将取决于应用程序的部署策略以及所遵循的应用程序模型。使用前面提到的 Pack URI 策略,在开发中可以通过共享程序集引用来将合并资源在多个项目之间共用。在该方案中,资源仍由客户端分发,而且至少有一个应用程序必须部署所引用的程序集。还可以通过一个使用 http 协议的分布式 URI 来引用合并资源。

将合并字典编写为本地应用程序文件或本地共享存储是另一种可能的合并字典/应用程序部署方案。

WPF样式重写实战:三层资源体系与现代UI重构方法论 WPF样式系统远不止颜色和边框的简单修改,其核心在于Template重写、Trigger逻辑控制与ResourceDictionary的分层治理。理解ControlTemplate如何替代默认渲染逻辑、VisualState如何管理交互状态、DynamicResource如何支撑运行时主题切换,是构建高一致性、高可维护性桌面UI的基础能力。这种基于设计系统思维的样式架构,不仅解决高DPI适配、深色模式兼容等工程痛点,更支撑医疗终端、工业软件等对视觉规范与可验收性要求严苛的实际场景。本文即围绕WPF窗体样式重 阅读详情

相关推荐

WPF自定义控件,UserControl的制作与使用过程

WPF自定义控件,UserControl的制作与使用过程,这个例子采用了详细而且简介的方式讲述了WPF自定义控件的制作及调用的全过程,他适合初学者没制作过又想使用WPF自定义控件的程序员。

WPF-如何调用其他项目的通用控件样式

公司要求设计软件时风格一致,在开发中,如果要求每个员工这样做,无疑是重复造轮子,降低开发效率。所以形成简单、基础、统一的WPF控件库,给开发同事调用,非常有必要。我们从github上download一份开源代码,经过一段时间的改造,目前支持文本框、按钮、单选框、下拉框、选项卡...今天开始尝试投入业务开发中。那么,如何在业务代码的框架中调用这套基础的样式库呢?添加样式库生成的dll引用App.xaml指定资源字典。

shanshan2099的专栏 1360

S32K3的STCU2模块详解:从硬件FSM到MCAL配置,搞懂BIST在线测试全流程

本文深入解析S32K3系列MCU的STCU2模块,从硬件FSM架构到MCAL配置,详细讲解BIST在线测试全流程。通过分区的安全策略和实战代码示例,帮助开发者掌握汽车电子系统中的功能安全实现,提升系统可靠性和安全性。

weixin_42525328的博客 444

01WPF之Style的使用

01WPF之Style的使用 这里写目录标题Style的引用1.为控件设置相应的ControlStyle.xaml文件2.设置ControlStyle.xaml的保存路径3.编辑ControlStyle.xaml的内容4.在App.xaml中引用ControlStyle.xaml文件5.在实际布局引用控件的ControlStyle.xaml文件 Style的引用 1.为控件设置相应的ControlStyle.xaml文件 右键项目名称——【添加】——【新建项】——【资源字典(WPF)】——自定义文件名

King_HF的博客 1198

仿人型机械臂逆运动学避坑指南:当末端三关节平行时如何处理奇异点

本文深入探讨了6R仿人型机械臂在末三轴平行结构下的逆运动学求解策略,重点分析了运动学逆解中的奇异点问题及其处理方法。通过MATLAB实现展示了D-H参数建模、几何解析法求解流程以及奇异点规避策略,为工业机器人开发提供了实用的数值算法方案和工程优化技巧。

sss66的博客 882

ESP-CSI:使用ESP32进行CSI(信道状态信息)采集

使用esp32进行csi(信道状态信息)采集和处理

capsize的博客 8280

浅谈WPF之样式与资源

WPF通过样式,不仅可以方便的设置控件元素的展示方式,给用户呈现多样化的体验,还简化配置,避免重复设置元素的属性,以达到节约成本,提高工作效率的目的,样式也是资源的一种表现形式。两个按钮使用同一个资源【背景图片】,只是一个采用静态资源引用,一个采用动态资源引用,当资源发生改变时,一个不改变,一个实时变化。WPF不仅支持传统的程序级的资源,还有独具特色的对象级资源,每一个界面元素,都可以拥有自己的资源,并被子元素共享。当鼠标进入时,字体变大,当鼠标离开时,字体恢复,如下所示:​​​​​​​。

绳锯木断,水滴石穿,专心写文,无问西东!!! 1934

Brim与ZUI协同安装指南:从下载到流量分析实战

本文提供Brim与ZUI协同安装与实战指南,详细讲解从下载、环境变量配置到流量分析的全流程。通过将PCAP文件转换为ZNG格式,结合直观的Zed查询语言,这套组合能极大提升大型网络数据包的分析效率,是网络安全与运维人员进行高效流量分析的利器。

metal的博客 458

WPF样式(Style)入门

WPF的样式是非常强大的,除了与HTML标记中的CSS类似,它还能够支持触发器(Trigger),比如当元素属性发生变化时,可通过触发器改变控件样式。用最最直观的例子说明效果。

Rhine 5万+

手把手教你学Simulink——基于Simulink的储能PCS(功率转换系统)离网V/f控制仿真示例

本文带你从零开始,在Simulink中硬核还原了一套完整的100kW 储能PCS离网V/f控制系统。通过引入:✅无PLL的自主角度生成机制(实现真正的“构网”能力)✅电压外环与电流内环的双闭环解耦架构(兼顾稳态精度与动态响应)✅黑启动软充电与有源阻尼等工程化手段(确保系统平滑建压与抗谐振)核心收获透彻理解了储能系统在无大电网支撑下的自主运行机理。掌握了从“跟网(Grid-Following)”向“构网(Grid-Forming)”跨越的控制算法核心差异。

MHD0815的博客 76

SQL基础:HQL之常用的行列转换应用总结

行列转换是数据开发者的基本技能,也是面试重点,在数据开发中处处可见,本文对常见的几种情况进行了总结,包括了多行转多列,多行转单列,多列转多行,单列转多行的几种情况,并给出了解决思路和方法,读者可根据本文给出的思路灵活应对业务中遇到的问题。

石榴姐yyds 1799

[WPF基础]WPF Style初步理解

WPF程序具有华丽的外观展示,Style样式在其中起到的作用功不可没,个人觉得WPF中的样式功能也是微软对于B/S程序中的样式文件CSS的一种学习和拓展,微软将控件的外观样式以配置文件的形式进行设定,取代了winform时期较为麻烦的皮肤开发,取而代之的是更加灵活方便的设定方式。以及更加完善的样式功能。本文就对于WPF样式的一些初步认识与大家进行分享,文中纰漏在所难免,还请不吝指正。 下文将

学无止境 1404

基于fme和python-docx第三方库批量更新不动产调查表

最近应朋友需要批量更新在不动产成果中提交的各种word报表中的指定数据,根据初步的了解,我做了一个基于fme软件和python-docx第三方库进行一个批量的更新方案。

weixin_43229258的博客 1240

wpf学习——样式style(转载)

本文目录   1.引言   2.怎样使用样式?   3.内联样式   4.已命名样式   5.元素类型样式   6.编程控制样式   7.触发器 1.引言   样式(Style),主要是用来让元素或内容呈现一定外观的属性。WPF中的样式的作用,就像Web中的CSS一样,为界面上的元素定制外观,以提供更好的用户界面。在WPF应用程序中,通过控件的属性,我们也可以实现更改控...

annle1018的博客 257

SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计

SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1061

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

WPF学习笔记(1):样式(Style)与模板(Template)

 <br /><br />一、WPF样式<br />  类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style)。样式属于资源的一种,例如为Button定义统一的背景颜色和字体:<br />  1: <Window.Resources><br />   2:   <Style <br />   3:     TargetType="Button"><br />   4:     <Setter Property="Background" Value="Yellow" /><br

luxiaoyu_sdc的专栏 952

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WPF and Silverlight 学习笔记(十八):WPF样式(Style)与模板(Template)

一、WPF样式 类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style)。样式属于资源的一种,例如为Button定义统一的背景颜色和字体: 1: <Window.Resources> 2: <Style 3: TargetType="Button"> 4: ...

XCH1992的博客 175

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

WPF样式

WPF编程学习——样式 本文目录   1.引言   2.怎样使用样式?   3.内联样式   4.已命名样式   5.元素类型样式   6.编程控制样式   7.触发器 1.引言   样式(Style),主要是用来让元素或内容呈现一定外观的属性。WPF中的样式的作用,就像Web中的CSS一样,为界面上的元素定制外观,以提供更好的用户界面。在WPF应用程序...

aeysu5197的博客 144

WPF样式与触发器(3)

WPF中的各类控件元素, 都可以自由的设置其样式。 诸如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Background) 字体颜色(Foreground) 边距(Margin) 水平位置(HorizontalAlignment) 垂直位置(VerticalAlignment) 等等。 而样式则是组织和重用以上的重要工具。不是使用重复的标记填充XAML,...

weixin_30952535的博客 229

WPF样式(Style)与模板(Template)

一、WPF样式 类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style)。样式属于资源的一种,例如为Button定义统一的背景颜色和字体: 1: 2: 3: TargetType="Button"> 4: 5: 6: 7:

小草旁的大树 1625

WPF编程学习——样式

转载地址:http://www.cnblogs.com/libaoheng/archive/2011/11/20/2255963.html 本文目录   1.引言   2.怎样使用样式?   3.内联样式   4.已命名样式   5.元素类型样式   6.编程控制样式   7.触发器 1.引言   样式(Style),主要是用来让元素或内容呈现一定外观的属性。WPF中的

Waitforsniping的专栏 578
上一篇: WPF中ListView小Demo的数据绑定应用
下一篇: WPF之DataGrid应用--几个例子
HNFXS985
博客等级 码龄14年 219粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值