WPF学习笔记5. DependencyProperty
2010-10-11 16:08:41 来源:本站整理核心提示:3. 属性值继承此继承非 OOP 上的继承,它的本意是父元素的相关设置会自动传递给所有层次的子元素 (元素可以从其在树中的父级继承依赖项属性的值),WPF学习笔记5. DependencyProperty(2),其实很简单也很熟悉,当我们修改窗体父容器控件的字体设置时,一旦子元素提供了显式设置(比如下例中的 label
3. 属性值继承
此继承非 OOP 上的继承,它的本意是父元素的相关设置会自动传递给所有层次的子元素 (元素可以从其在树中的父级继承依赖项属性的值)。其实很简单也很熟悉,当我们修改窗体父容器控件的字体设置时,所有级别的子控件都将自动使用该字体设置 (未做自定义设置),相信你在 WinForm 中已经使用过了。
<Window x:Class="Learn.WPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" FontSize="20"> <Grid> <TextBox x:Name="textBox1" /> <Label x:Name="label1" Content="Hello, World!" /> <Button x:Name="btnTest" Content="Test" /> </Grid> </Window>
Window.FontSize 设置会影响所有的内部元素字体大小,这就是所谓的属性值继承。当然,一旦子元素提供了显式设置(比如下例中的 label1.FontSize),这种继承就会被打断。
<Window x:Class="Learn.WPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" FontSize="20"> <Grid> <TextBox x:Name="textBox1" /> <Label x:Name="label1" Content="Hello, World!" FontSize="10" /> <Button x:Name="btnTest" Content="Test" /> </Grid> </Window>
注意并不是所有的依赖属性都会继承父元素的设置。
更多精彩
赞助商链接