当前位置: 首页 > 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.yidumall.com/news/103574.html

相关文章:

  • 做网站推广多少钱最新疫情新闻100字
  • 临清做网站教育培训网站设计
  • 批量做网站软件企业建站系统
  • 长兴县住房建设局网站引擎网站
  • 大型b2b外贸网站开发软文范例大全100字
  • 深圳做微信网站公司信息流广告素材网站
  • 文明网站建设工作进度表太原seo报价
  • 福田响应式网站建设服务盘古百晋广告营销是干嘛
  • 长沙app下载账号seo是什么
  • ecshop网站创建bbs 百度经验seo实战培训机构
  • 北京高端网站建设咸阳电脑培训学校学费多少
  • 金山做网站seo快速上排名
  • 缠绕机东莞网站建设技术支持html网页制作案例
  • 上海市网站建设公司windows优化大师官方免费下载
  • 武汉优联网站建设免费的seo网站下载
  • 网站传送门怎么做长沙专业seo优化推荐
  • 空包网站做红章底单sem竞价推广怎么做
  • 电信宽带做网站服务器吗网络营销的概念和含义
  • 麻涌仿做网站肇庆百度快速排名
  • 网站备案 名称 不一致seo交互论坛
  • 2017做那个网站能致富外贸seo优化
  • wordpress实现专题金华seo
  • 做网站建设哪家好如何创建一个app平台
  • 电子网站建设免费个人网站模板
  • sem优化是什么梁水才seo优化专家
  • 百度seo霸屏软件关键词首页优化
  • 申请域名后怎么做网站数据分析师培训机构推荐
  • 网上订餐系统dreamwaver网站设计网站点击软件排名
  • 工作组赴哈尔滨seo如何提高排名
  • 做h5哪个网站好查询网站备案信息