(WPF)属性值继承

属性值继承并不同于传统面向对象的类继承,而是指属性值自顶向下沿着元素树传递。

下面的代码在Window 元素上设置了Font属性。两个设置将会沿着逻辑树向下传递,并由子元素继承。

但是若子元素如设置了这样的属性,则不受其父元素设置的影响。

<span style="font-size:14px;">
</span><span style="font-size:12px;"><Window xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation "
        xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml/presentation
        Title ="属性继承" SizeToContent = "WidthAndHeight" FontSize = "30" FontStyle = " Italic"
        Background = "OrangeRed">
 <StackPanel>
  <Label FontWeight = "Bold" FontSize = "20" Foreground = "White">WPF</Label>
  <Label> WPF2</Label>
  <ListBox>
   <ListBoxItem> chapter 1</ListBoxItem>
   <ListBoxItem> chapter 2</ListBoxItem>
  </ListBox>
  <StackPanel Orientation = "Horizontal" HorizontalAlignment = "Center">
   <Button MinWidth = "75" Margin = "10">Help</Button>
   <Button MinWidth = "75" Margin = "10">OK</Button>
  </StackPanel>
  <StatusBar >successed</StatusBar>
 </StackPanel>
</Window></span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 01:07:40

(WPF)属性值继承的相关文章

css中属性值继承小解

继承:html元素可以从父元素那里继承一部分css属性,即使当前元素没有定义该属性. 1.css可以和不可以继承的属性 不可继承的:display.margin.border.padding.background.height.min-height.max-height.width.min-width.max-width.overflow.position.left.right.top.bottom.z-index.float.clear.table-layout.vertical-align.

[WPF系列]-数据邦定之DataTemplate 使用 DataTrigger 来应用属性值

使用 DataTrigger 来应用属性值 当前表示不会告诉我们某个 Task 是家庭任务还是办公室任务.记住 Task 对象拥有类型为 TaskType 的 TaskType 属性,该类型是一个枚举,其值可以为 Home 和 Work. 在下面的示例中,DataTrigger 将 border 元素的 BorderBrush 设置为 Yellow(如果 TaskType 属性为 TaskType.Home).   <DataTemplate x:Key="myTaskTemplate&q

spring mvc 处理pojo传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why?

//=========================== 情形一: ===============================//在网络上传递User1类对象时info属性值在网络的另一端能够接收到! public class User1 implements Serializable { public String info = null; public String userName = null; public String userPWD = null; } //=========

WPF - 属性系统 (4 of 4)

依赖项属性的重写 在基于C#的编程中,对属性的重写常常是一种行之有效的解决方案:在基类所提供的属性访问符实现不能满足当前要求的时候,我们就需要重新定义属性的访问符. 但对于依赖项属性而言,属性执行逻辑的重新定义并不能存在于CLR属性包装中:WPF内部对依赖项属性的实现要求依赖项属性的CLR包装实现仅仅调用GetValue()以及SetValue()属性,而不能提供其它的自定义逻辑.相反地,我们需要通过更改创建时所传入的元数据来指定自定义属性执行逻辑,甚至在某些更苛刻的要求下,如更改依赖项属性的类

WPF - 属性系统 (3 of 4)

依赖项属性元数据 在前面的章节中,我们已经介绍了WPF依赖项属性元数据中的两个组成:CoerceValueCallback回调以及PropertyChangedCallback.而在本节中,我们将对其它元数据属性进行讲解. 首先让我们来看看元数据对默认值的支持.在元数据的构造函数中,软件开发人员可以通过它的defaultValue参数指定该依赖项属性的默认值.如果在元数据中并没有指定依赖项属性的默认值,那么WPF属性系统会自动根据依赖项属性的类型为该依赖项属性指定一个默认值: private s

WPF - 属性系统 (1 of 4)

本来我希望这一系列文章能够深入讲解WPF属性系统的实现以及XAML编译器是如何使用这些依赖项属性的,并在最后分析WPF属性系统的实际实现代码.但是在编写的过程中发现对WPF属性系统代码的讲解要求之前的介绍能触及到属性系统的方方面面.而且其内部实现代码涉及到了众多的内部算法,对它们进行讲解反而可能导致读者产生更多迷惑.因此我最终改变了初衷,将这一系列文章重新定义为介绍WPF属性系统所提供的各种功能,并伴随各个功能讲解WPF属性系统的实际实现方式. 本系列文章将从最基础的有关依赖项属性的知识讲起,并

关于Javascript中通过实例对象修改原型对象属性值的问题

Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的说就1种,即Object类型.往细的说有:Object类型.Array类型.Date类型.Regexp类型.Function类型等. 当原型对象的属性值为基本类型的数据值时,通过实例对象修改属性值从而引起原型对象的属性值发生变化的情况不会发生.当原型对象的属性值为引用类型的数据值时,通过实例对象修改

line-height属性值为百分比和数字乘积因子的区别

line-height属性值为百分比和数字乘积因子的区别:本章节不对line-height属性的具体用法做介绍,只介绍参数为百分比和数字乘积因子时候的区别.关于line-height的基本用法可以参阅line-height属性深入介绍一章节.当设置line-height属性值为百分比和数字乘积因子的时候有点类似,比如200%和2都可以将line-height属性值设置为当前元素内字体大小的两倍,是不是感觉使用两种方式参数值有点多此一举,其实并非如此.看如下代码实例: <!DOCTYPE html

WPF - 属性系统 - APaas(AttachedProperty as a service)

是的,文章的题目看起来很牛,我承认. 附加属性是WPF中的一个非常重要的功能.例如在设置布局的过程中,软件开发人员就常常通过DockPanel的Dock附加属性来设置其各个子元素所处的布局位置.同样地,在为程序添加一个新的功能时,我们也常常需要创建自定义的附加属性来完成该功能. 附加属性简介 首先,我们要对附加属性有一个简单的认识:什么是附加属性,而为什么WPF提供了附加属性呢? 在WPF中,附加属性用来表示定义在一个类型上,却可以在其它特定类型实例上被使用的属性.由于该属性并非定义在这些实例所