Xaml网格样式

时间:2013-06-11 21:21:43

标签: wpf xaml styles

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>

如果有人可以指导我找一个很好的样式/模板教程,那么就找不到更详细解释它的那个。

2 个答案:

答案 0 :(得分:0)

Grid不是控件,因此您无法对其应用ControlTemplate。如果您正在寻找“转发器”类型的东西,那么您应该使用ItemsControl

答案 1 :(得分:0)

创建模板/样式的最佳方法是使用Microsoft Blend 3.0 / 4.0 在那里,人们可以很容易地发现每次改变后的进展情况。

在您的情况下,网格无法设置样式,因为它是容器而不是控件。如果您希望自定义某些控件,则需要修改控件的控件模板。