日期:2014-05-17  浏览次数:20721 次

WPF,请问模板的一个问题
<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的标准模板的样式该怎么做?

------解决方案--------------------

<Style x:Key="bl" TargetType="{x:Type TextBlock}">

<Style TargetType="{x:Type Button}">
   ...
   ...
    <Setter Property="Template">