<Style TargetType="{x:Type TextBlock}">
...
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBlock"> //TextBlock的模板
...
...
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Button}">
...
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button"> //Button的模板
...
...
<TextBlock>....</TextBlock> //模板中用到了TextBlock
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
上面有两个模板,一个TextBlock模板,一个是Button模板,在Button模板中用到了TextBlock控件。我想问的是:
1:Button模板中的TextBlock,到底是上面创建的TextBlock的样式呢,还是TextBlock的标准模板的样式?
2:如果要使用上面创建的TextBlock的样式该怎么做?如果要使用TextBlock的标准模板的样式该怎么做?
...
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBlock"> //TextBlock的模板
...
...
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Button}">
...
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button"> //Button的模板
...
...
<TextBlock>....</TextBlock> //模板中用到了TextBlock
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
上面有两个模板,一个TextBlock模板,一个是Button模板,在Button模板中用到了TextBlock控件。我想问的是:
1:Button模板中的TextBlock,到底是上面创建的TextBlock的样式呢,还是TextBlock的标准模板的样式?
2:如果要使用上面创建的TextBlock的样式该怎么做?如果要使用TextBlock的标准模板的样式该怎么做?
<Style x:Key="bl" TargetType="{x:Type TextBlock}"><Style TargetType="{x:Type Button}">
...
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button"> //Button的模板
...
...
<TextBlock Style="{DynamicResource bl}">....</TextBlock> //模板中用到了TextBlock
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
你这设置的是对所有的TextBlock应用这个样式,那么不管是不是在模板里,只要是TextBlock并且没有特别指定一个Style都会应用这个样式。
如果想用默认的模板,就把这个Style加个Key,然后只在想应用这个Style上使用就好
是的,其实这些你自己去测试下,1,2分钟的事情啊...