WPF4.5 Cockbook - Chapter8(Style, Triggers and Control Template)

Style

1:styles是一组setter和trigger的单个object,常被定义为资源使用。用来设置target元素的一组属性。Setter用来决定那个属性需要有那个值。属性必须为DP。

2:TargetType可以是任何type,甚至是custom type和derived type。如果TargetType是Button则代表只能应用于<Button>或者任何继承自<Button>的元素,否则抛出异常。(TargetType虽然不强制写,但是指定特定的元素应用style对代码维护有好处)。

3:style一般需要TargetType属性来表达应用到的元素的类型。

4:style里是一组<setter>来设置应用该style的元素的property

5:style可以inherit其他style,从而简化重复设置属性,BasedOn属性用来继承其他style,注意base style有TargetType,继承style也要有TargetType。

好的practice是不超过两层的style继承。

6:style的Complex property设置:

View Code
<Setter property="Effect">

    <Setter.Value>

        <dropShadowEffect Color="Red"/>

    <Setter.Value/>

<Setter/>

7:对于属性的设置,遵循DP priority system原则。直接修改属性比同属性的style设置优先级高

View Code
<Button Content="=" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2" Style="{StaticResource operatorStyle}">

            <Button.Effect>

                <DropShadowEffect Color="Green" />

            </Button.Effect>

        </Button>

8:Place to apply style:

一个元素要应用一个style资源,只要在其后面加上style属性=那个resource就好

其他还有一些可以加载style的属性(书290)

 

 

 

你可能感兴趣的:(template)