WPF属性

属性:对XAML元素特征进行描述的方法,不允许在XAML中重复设置多次,可以在托管代码中改变元素的属性值

设置属性的几种方式:

  1. 使用属性语法
  2. 使用属性元素语法
  3. 使用内容语法
  4. 使用集合元素语法

在属性语法中,每个属性对应一个属性类型匹配的属性值,例如颜色属性对应的是颜色类型的属性值,不然的话是会出错的。在一个标签里面可以设置对象的多个属性,例如除了可以设置它的颜色外,还可以设置它的大小

 <Canvas Width="400" Height="250" Background="Red"></Canvas>

    <!--或者-->

    <Canvas Width="400" Height="250" Background="Red"/>

使用属性元素语法,在父元素里再写子元素

<Ellipse Width="350" Height="300">

        <!--设置属性 Fill--> 

        <Ellipse.Fill>

            <SolidColorBrush Color="Black"/>

        </Ellipse.Fill>

</Ellipse>

使用内容元素语法,在里面设置文本内容,例如TextBlock可以支持大量的文本内容,Content也能设置一些简短的内容,但是使用TextBlock会更灵活

<TextBlock Width="300" TextWrapping="WrapWithOverflow" FontSize="20">

        某些元素的属性支持内容元素语法,允许忽略元素的名称     

        实力对象会根据XAML元素中的第一个标记值来设置属性     

        对于大量的格式化文本,使用内容元素语法更加灵活     

        属性标记之间可以插入大量的文本内容

</TextBlock>

使用集合语法,须支持一个属性元素的集合,才能使用集合语法进行设置属性,也就是添加对象的属性项

 <!--使用属性集合语法   方式-->

    <Rectangle>

        <Rectangle.Fill>

            <LinearGradientBrush>

                <GradientStopCollection>

                    <!--属性集合语法-->

                    <GradientStop Color="Gold" Offset="0.0"></GradientStop>

                    <GradientStop Color="Green" Offset="1.0"></GradientStop>

                </GradientStopCollection>

            </LinearGradientBrush>

        </Rectangle.Fill>

</Rectangle>

属性还有理解为基本属性、附加属性、依赖属性

基本属性:顾名思义就是最基本的属性,以上的示例代码都可以被称为基本属性

附加属性:用于支持附加属性的元素,基本上很多都支持附加属性,例如背景属性可以附加不同的颜色值,字体的大小,或者是属性的位置调整......在父元素的附加属性元素,会继承所在父元素的属性

在以上的示例中,其实也都体现了附加属性,而附加属性更是时刻接触到的

    <Canvas>

        <Rectangle Canvas.Left="50" Canvas.Top="50" Width="200" Height="150" Fill="Green">

        </Rectangle>

</Canvas>

依赖属性:一种可以自己没有值,可以通过绑定其他数据源获取值的值。可以值WPF的样式设置、数据绑定、继承、动画和默认值。当依赖属性的值发生改变,其源数据也会发生改变,布局、元素也会发生相应的改变。

使用Button来绑定窗口定义好的资源,依赖属性1继承了窗口的资源,依赖属性2同样的也是继承窗口资源,但是却呈现的不同效果,是因为依赖属性区分优先级,它会根据Button里的赋值优先设置,由于依赖属性2设置的颜色是黄色背景,所以呈现的是黄色的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值