0

我有 3 个项目的解决方案

  • WPF 应用程序(引用其他 2 个,并将主题添加到 App.Resources)
  • 自定义控件库
  • 自定义主题

主题包含以下按钮样式

<Style TargetType="{x:Type Button}">
    <Setter Property="BorderBrush"
            Value="Green" />
</Style>

控制库包含以下内容:

<Style TargetType="{x:Type Button}"
       BasedOn="{StaticResource {x:Type Button}}"
       x:Key="ButtonStyle">
    <Setter Property="Padding"
            Value="50" />
</Style>

<Style TargetType="{x:Type local:CustomControl1}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:CustomControl1}">
                <Button Style="{StaticResource ButtonStyle}"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

在控件库中,'BasedOn="{StaticResource {x:Type Button}}"' 的评估结果是什么?

我认为它会评估为主题中的 Button 样式,但似乎并非如此,因为没有拾取绿色边框属性。

有人可以解释这里发生的查找规则吗?

4

0 回答 0