pgwri
pgwri

Reputation: 103

Xaml Grid Styling

New to WPF, I'm having some trouble creating a styles in my code, I was able to make some buttons styles by drawing rectangles and making them into buttons, this opened a template editor so I was able to do it.

Now I'm wanting to create a template for a repeating stackpanel/grid layout, and I wrote it by hand this time, but I am getting an error that says the "template is not a valid member"

This is the kind of thing I was trying to create, but the Property="Template" bit is underlined in red. Can somebody explain to me the reason behind this? How do I create or initialize the 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>

If someone could direct me to a tutorial on styles/templates that would be nice as well, haven't been able to find one that explained it in more detail.

Upvotes: 0

Views: 2077

Answers (2)

Arushi Agrawal
Arushi Agrawal

Reputation: 629

The best way to create templates/styles is by using Microsoft Blend 3.0/4.0 Over there one can easily find out what's the progress after doing each change.

In your case, a grid cannot be styled as it is a container not a control. If you wish to customize some control need to modify the control template of the control.

Upvotes: 0

Fede
Fede

Reputation: 44038

Grid is not a control, therefore you cannot apply a ControlTemplate to it. If you're looking for a "repeater" kind of thing, you should be using an ItemsControl.

Upvotes: 0

Related Questions