地产& # 39;模板# 39;类型'FrameworkElement'
本文关键字:FrameworkElement 地产 模板 类型 | 更新日期: 2023-09-27 18:07:33
请原谅我是一个完全的新手,但我正在遵循教程(在XAML中创建自定义WPF按钮模板),我遇到了错误:
由于文档错误抛出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>
我一直在寻找解决方案,但还没有找到一个…这让我相信我要么忽视了什么,要么想得太多了。
我错过了什么?提前感谢您的任何帮助!
A FrameworkElement
没有Template
属性。模板通常定义在Control
类中。这是因为大多数WPF元素派生自FrameworkElement
,但它们并不都有模板(例如StackPanel
)。你的Setter可能在一个Style中(你没有发布那个部分)。确保Style
的TargetType
是正确的类型(最有可能是按钮)。
<Style x:Key="InformButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
etc...
</Style>