WPF的新手,我在代码中创建样式时遇到了一些麻烦,我能够通过绘制矩形并将它们变成按钮来制作一些按钮样式,这打开了一个模板编辑器,所以我能够做到。
现在我想为重复的堆栈面板/网格布局创建一个模板,这次我手工编写了,但是我收到的错误是“模板不是有效的成员”
这是我试图创建的那种东西,但是Property =“Template”位用红色加下划线。有人可以向我解释这背后的原因吗?如何创建或初始化模板?
<Style x:Key="LaneStyle" TargetType="{x:Type Grid}">
<Setter Property="Width" Value="760"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Grid}">
<!-- Things here -->
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如果有人可以指导我找一个很好的样式/模板教程,那么就找不到更详细解释它的那个。
答案 0 :(得分:0)
Grid
不是控件,因此您无法对其应用ControlTemplate
。如果您正在寻找“转发器”类型的东西,那么您应该使用ItemsControl
。
答案 1 :(得分:0)
创建模板/样式的最佳方法是使用Microsoft Blend 3.0 / 4.0 在那里,人们可以很容易地发现每次改变后的进展情况。
在您的情况下,网格无法设置样式,因为它是容器而不是控件。如果您希望自定义某些控件,则需要修改控件的控件模板。