Windows Vista Forums

Using a StaticResource in a template

  1. #1


    Keith Patrick Guest

    Using a StaticResource in a template

    I've got a style declared where, within the Template setter, I try to drop
    in a previously-declared resource declared like so:
    <Polyline x:Key="UpArrowGlyph" Points="0,0 0.5,0.3 1,0" Stroke="#FF5B6473"
    StrokeThickness="0.2" RenderTransformOrigin="0.5,0.5">

    <Polyline.RenderTransform>

    <RotateTransform Angle="180"/>

    </Polyline.RenderTransform>

    </Polyline>



    However, I can't seem to get the syntax for dropping it into a style. I use
    them in my UI itself, and it works just fine, but if I construct my template
    in this way:

    <Viewbox Stretch="Fill">

    <StaticResource ResourceKey="UpArrowGlyph" />

    </Viewbox>

    It says I can't use non-frameworkelements in my style. I know I'm missing
    some basic piece of syntax, but I've been stumped on this one for several
    days (including getting sidetracked on a 360 ).



      My System SpecsSystem Spec

  2. #2


    Nick Kramer [MSFT] Guest

    Re: Using a StaticResource in a template

    > It says I can't use non-frameworkelements in my style.

    I don't think it has anything to do with the resource reference, it's
    because Polyline is not a subclass of FrameworkElement. The root element in
    the template must be a framework element, if you don't have a useful
    framework element just use a Border with zero-sized border.

    -Nick Kramer [MSFT]
    http://blogs.msdn.com/nickkramer

    ---
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Use of included script samples are subject to the terms specified at
    http://www.microsoft.com/info/cpyright.htm


    "Keith Patrick" <richard_keith_patrick@nospam.hotmail.com> wrote in message
    news:uI1ziVfJGHA.3100@tk2msftngp13.phx.gbl...
    > I've got a style declared where, within the Template setter, I try to drop
    > in a previously-declared resource declared like so:
    > <Polyline x:Key="UpArrowGlyph" Points="0,0 0.5,0.3 1,0" Stroke="#FF5B6473"
    > StrokeThickness="0.2" RenderTransformOrigin="0.5,0.5">
    >
    > <Polyline.RenderTransform>
    >
    > <RotateTransform Angle="180"/>
    >
    > </Polyline.RenderTransform>
    >
    > </Polyline>
    >
    >
    >
    > However, I can't seem to get the syntax for dropping it into a style. I
    > use them in my UI itself, and it works just fine, but if I construct my
    > template in this way:
    >
    > <Viewbox Stretch="Fill">
    >
    > <StaticResource ResourceKey="UpArrowGlyph" />
    >
    > </Viewbox>
    >
    > It says I can't use non-frameworkelements in my style. I know I'm missing
    > some basic piece of syntax, but I've been stumped on this one for several
    > days (including getting sidetracked on a 360 ).
    >




      My System SpecsSystem Spec

  3. #3


    Nick Kramer [MSFT] Guest

    Re: Using a StaticResource in a template

    D'oh! It was pointed out to me that PolyLine is a Shape and thus a
    FrameworkElement.

    What's the complete xaml you're using?

    --
    -Nick Kramer [MSFT]
    http://blogs.msdn.com/nickkramer

    ---
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Use of included script samples are subject to the terms specified at
    http://www.microsoft.com/info/cpyright.htm


    "Nick Kramer [MSFT]" <nkramer@ms.spam> wrote in message
    news:eWC9M25JGHA.216@TK2MSFTNGP15.phx.gbl...
    >> It says I can't use non-frameworkelements in my style.

    >
    > I don't think it has anything to do with the resource reference, it's
    > because Polyline is not a subclass of FrameworkElement. The root element
    > in the template must be a framework element, if you don't have a useful
    > framework element just use a Border with zero-sized border.
    >
    > -Nick Kramer [MSFT]
    > http://blogs.msdn.com/nickkramer
    >
    > ---
    > This posting is provided "AS IS" with no warranties, and confers no
    > rights. Use of included script samples are subject to the terms specified
    > at http://www.microsoft.com/info/cpyright.htm
    >
    >
    > "Keith Patrick" <richard_keith_patrick@nospam.hotmail.com> wrote in
    > message news:uI1ziVfJGHA.3100@tk2msftngp13.phx.gbl...
    >> I've got a style declared where, within the Template setter, I try to
    >> drop in a previously-declared resource declared like so:
    >> <Polyline x:Key="UpArrowGlyph" Points="0,0 0.5,0.3 1,0"
    >> Stroke="#FF5B6473" StrokeThickness="0.2" RenderTransformOrigin="0.5,0.5">
    >>
    >> <Polyline.RenderTransform>
    >>
    >> <RotateTransform Angle="180"/>
    >>
    >> </Polyline.RenderTransform>
    >>
    >> </Polyline>
    >>
    >>
    >>
    >> However, I can't seem to get the syntax for dropping it into a style. I
    >> use them in my UI itself, and it works just fine, but if I construct my
    >> template in this way:
    >>
    >> <Viewbox Stretch="Fill">
    >>
    >> <StaticResource ResourceKey="UpArrowGlyph" />
    >>
    >> </Viewbox>
    >>
    >> It says I can't use non-frameworkelements in my style. I know I'm
    >> missing some basic piece of syntax, but I've been stumped on this one for
    >> several days (including getting sidetracked on a 360 ).
    >>

    >
    >




      My System SpecsSystem Spec

  4. #4


    Keith Patrick Guest

    Re: Using a StaticResource in a template

    This is the style:
    <Style x:Key="{x:Type ScrollBar}"
    TargetType="{x:Type ScrollBar}">
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type ScrollBar}">
    <Grid Background="{TemplateBinding Background}">
    <RowDefinition MaxHeight="{DynamicResource {x:Static
    SystemParameters.VerticalScrollBarButtonHeightKey}}" />
    <RowDefinition Height="1E-05*" />
    <RowDefinition MaxHeight="{DynamicResource {x:Static
    SystemParameters.VerticalScrollBarButtonHeightKey}}" />
    <RepeatButton Command="ScrollBar.LineUpCommand"
    Height="{DynamicResource {x:Static
    SystemParameters.VerticalScrollBarButtonHeightKey}}"
    MinWidth="{DynamicResource {x:Static
    SystemParameters.VerticalScrollBarWidthKey}}">
    <Viewbox Stretch="Fill">
    <StaticResource ResourceKey="UpArrowGlyph"
    />
    </Viewbox>
    </RepeatButton>
    </Grid>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>

    And teh resource is here:
    <Polyline x:Key="UpArrowGlyph"
    Points="0,0 0.5,0.3 1,0"
    Stroke="#FF5B6473"
    StrokeThickness="0.2"
    RenderTransformOrigin="0.5,0.5">
    <Polyline.RenderTransform>
    <RotateTransform Angle="180"/>
    </Polyline.RenderTransform>
    </Polyline>





      My System SpecsSystem Spec

Using a StaticResource in a template

Similar Threads
Thread Forum
template
I'm pulling my hair out on various sites trying to get accurate advice on how to create an email template and set it as default. I have explorer 8,...
Vista mail
template downloads
I'm not an office user but I need to download an office fax template. I found some on the office online templates site. I downloaded a few but when I...
Software
Administrative template for WLM
Where can I obtain the group policy administrative template for Windows Live Mail? Does WLM support group policies at all?
Live Mail
Template folder
when I first got windows live mail in I had great fun making staionary and saving it and there was a template folder in the folders list but now it...
Live Mail
template with Netsh
Hello people, With XP i was enable to do many template of network configuration (esay shitch between DHCP or not for a interface) so i was...
Vista networking & sharing
Vista adm template for AD?
I was at a Launch event recently and asked one of the presenters about an issue I'm having with Vista. They said I need to install the Admin...
Vista account administration
StaticResource markup extension with Binding
Hi~~ I try to use StaticResource with Binding Ex 1. <Grid.Resources> <SolidColorBrush Color="Red" x:Key="Hola"/> <Storyboard...
Avalon