当前位置: 首页 > news >正文

夷陵区住房和城乡建设局网站优网营销

夷陵区住房和城乡建设局网站,优网营销,阿里云是做网站的吗,免费私人网站建设一、目的:介绍下在WPF中OverridesDefaultStyle属性如何使用 OverridesDefaultStyle 属性在 WPF 中用于控制控件是否使用默认的主题样式。将其设置为 True 时,控件将不会应用默认的主题样式,而是完全依赖于你在 Style 中定义的样式。以下是如何…

一、目的:介绍下在WPF中OverridesDefaultStyle属性如何使用

        OverridesDefaultStyle 属性在 WPF 中用于控制控件是否使用默认的主题样式。将其设置为 True 时,控件将不会应用默认的主题样式,而是完全依赖于你在 Style 中定义的样式。以下是如何使用 OverridesDefaultStyle 属性的详细说明和示例。


二、使用场景


•    完全自定义控件样式:当你希望完全自定义控件的外观,而不希望继承任何默认样式时,可以将 OverridesDefaultStyle 设置为 True。
•    避免样式冲突:在某些情况下,你可能希望控件不受全局样式或主题样式的影响,这时可以使用 OverridesDefaultStyle。

三、示例

以下是一个示例,展示了如何使用 OverridesDefaultStyle 属性:
完全自定义按钮样式 

 <Button Content="Button"><Button.Style><Style TargetType="Button"><!--  Set to true to not get any properties from the themes.  --><Setter Property="OverridesDefaultStyle" Value="True" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="Button"><Grid><Ellipse Fill="{TemplateBinding Background}" /><ContentPresenter HorizontalAlignment="Center"VerticalAlignment="Center" /></Grid></ControlTemplate></Setter.Value></Setter></Style></Button.Style></Button>

可以看到对比效果

        从上面的例子可以看到,设置OverridesDefaultStyle=True的Button样式Background是null,没有从默认的Button样式中继承,这个就是OverridesDefaultStyle的主要作用,可以完全控制控件样式而不受默认样式的干扰。

 同DefaultStyleKeyProperty的区别

        在 WPF 中,OverridesDefaultStyle 和 DefaultStyleKeyProperty 是两个不同的属性,它们在自定义控件的样式和行为方面起着不同的作用。在自定义控件中我们会通过DefaultStyleKeyProperty去配置控件的默认样式,DefaultStyleKeyProperty 是一个依赖属性,用于指定控件的默认样式键。通过重写 DefaultStyleKeyProperty 的元数据,你可以为自定义控件指定一个默认样式。通常在自定义控件的静态构造函数中使用 DefaultStyleKeyProperty.OverrideMetadata 方法来设置。如:

    public class CustomControl1 : Control{static CustomControl1(){DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl1), new FrameworkPropertyMetadata(typeof(CustomControl1)));}}

在 Generic.xaml 中定义样式

<ResourceDictionaryxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WpfCustomControlLibrary1"><Style TargetType="{x:Type local:CustomControl1}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type local:CustomControl1}"><Border Background="LightGray" BorderBrush="Black" BorderThickness="1"><ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/></Border></ControlTemplate></Setter.Value></Setter></Style>
</ResourceDictionary>


•    OverridesDefaultStyle:用于指示控件是否应忽略默认的主题样式。设置为 True 时,控件将完全依赖于你在 Style 中定义的样式。
•    DefaultStyleKeyProperty:用于指定控件的默认样式键。通过重写 DefaultStyleKeyProperty 的元数据,你可以为自定义控件指定一个默认样式。


        这两个属性在自定义控件的样式和行为方面起着不同的作用,通常在自定义控件的开发中会结合使用,以实现所需的样式和行为。 

需要了解的知识点

FrameworkElement.OverridesDefaultStyle 属性 (System.Windows) | Microsoft Learn

FrameworkElement.DefaultStyleKeyProperty Field (System.Windows) | Microsoft Learn

System.Windows.Controls 命名空间 | Microsoft Learn

控件自定义 - WPF .NET Framework | Microsoft Learn

控件库 - WPF .NET Framework | Microsoft Learn

源码地址

GitHub - HeBianGu/WPF-ControlDemo: 示例

GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库

GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库

了解更多

System.Windows.Controls 命名空间 | Microsoft Learn

https://github.com/HeBianGu

HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频

http://www.qdjiajiao.com/news/5424.html

相关文章:

  • 实训做网站收获个人网站制作流程
  • 标准型网站---北京网站建设西安网站建设制作公司
  • 深圳做网站推广互联网广告公司
  • 做企业网站用二级域名好吗谷歌seo推广
  • 网站如何做seo排名软文网站发布平台
  • 鄂州做网站的公司seo网络营销外包公司
  • 能免费做公务员题的网站网络营销岗位技能
  • 做外贸都做哪些网站好免费百度推广登陆
  • 蓝色经典通用网站模板网络营销推广方式
  • 网站建设课设心得厦门seo排名优化公司
  • 网站建设公司公司好百度提问登陆入口
  • 东平做网站竞价网站推广
  • 企业网站建设 南通如何建立电商平台
  • 优化防控措施企业网站优化公司
  • 金华做公司网站优化大师下载安装
  • 网站建设公司及网络安全法seo属于什么
  • 陕西省住房和城乡建设委员会网站外贸新手怎样用谷歌找客户
  • 模型外包网站域名信息查询系统
  • 企业电子邮箱怎么注册seo搜索引擎优化课程
  • 建网站的系统软件外包网站
  • 企业建设网站的好处朝阳网站建设公司
  • 免费注册个人邮箱申请seo站长工具
  • hge网站做微端成都最新热门事件
  • 建导航网站关键词优化一年多少钱
  • 建设银行甘肃分行网站今日头条搜索优化怎么做
  • wordpress 速度网站关键词排名优化工具
  • 如何选择电商网站建设seo的工作内容主要包括
  • 接网站做项目赚钱吗百度推广一级代理商名单
  • 北京企业官网建站上海网络推广
  • 南昌做网站多少钱正规专业短期培训学校