在'FrameworkElement'类型中找不到属性'Template'

时间:2011-09-03 19:11:26

标签: c# wpf visual-studio-2010 xaml frameworkelement

请原谅我是一个完整的新手,但我正在按照教程(Creating a Custom WPF Button Template in XAML),我遇到了错误:

  

由于文档错误而抛出FormatException:在“FrameworkElement”类型中找不到属性“Template”。

似乎错误源于XAML中的以下代码:

 <Setter Property="Template">
     <Setter.Value>
         <ControlTemplate TargetType="Button">
             <Border Name="border"
                BorderThickness="1"
                Padding="4,2"
                BorderBrush="DarkGray"
                CornerRadius="3"
                Background="{TemplateBinding Background}">
                <Grid >
                <ContentPresenter HorizontalAlignment="Center"
                          VerticalAlignment="Center" Name="contentShadow"
                    Style="{StaticResource ShadowStyle}">
                    <ContentPresenter.RenderTransform>
                        <TranslateTransform X="1.0" Y="1.0" />
                    </ContentPresenter.RenderTransform>
                </ContentPresenter>
                <ContentPresenter HorizontalAlignment="Center"
                       VerticalAlignment="Center" Name="content"/>
                </Grid>
        </Border>

我一直在寻找一个解决方案,但是没有找到一个...这让我相信我要么忽视或者过度思考。

我错过了什么?提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

FrameworkElement没有Template属性。模板通常在Control类上定义。这是因为大多数WPF元素都派生自FrameworkElement,但它们并非都有模板(例如StackPanel)。你的Setter可能在一个Style中(你没有发布那个部分)。确保TargetType的{​​{1}}是正确的类型(很可能是按钮)。

Style