Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Windos
win32.3rdparty
win32.directx.audio
win32.directx.ddk
win32.directx.graphics
win32.directx.input
win32.directx.managed
win32.directx.misc
win32.directx.networking
win32.directx.sdk
win32.directx.video
win32.dirx.grap.shaders
win32.gdi
win32.international
win32.kernel
win32.messaging
win32.mmedia
win32.networks
win32.ole
win32.rtc
win32.tapi
win32.tapi.beta
win32.tools
win32.ui
win32.wince
win32.wmi
windows.mediacenter
winfx.aero
winfx.announcements
winfx.avalon
winfx.collaboration
winfx.fundamentals
winfx.general
winfx.indigo
winfx.sdk
winfx.winfs
  
 
date: 5 Mar 2007 21:24:56 -0800,    group: microsoft.public.windows.developer.winfx.avalon        back       


XAML Binding / Animated Expander   
Hi,
I'm trying to create an Expander that animates it's open/close.
So far, I've got what's below, which will animate the opening and
closing, but it will open to a fixed height of 150 for the content
(see "ExpandMe" story board). I want to make it so that it opens to
the auto content height.

Can anyone help me with this?

I thought that replacing the 150 with something like {Binding
ElementName=ContentGrid, Path=ActualHeight} should work but it throws
an exception.

Thanks
Greg


      <Style TargetType="Expander">
        <Style.Resources>
          <Storyboard x:Key="ExpandMe">
            <DoubleAnimationUsingKeyFrames
Storyboard.TargetName="Content" Storyboard.TargetProperty="Height"
BeginTime="00:00:00">
              <LinearDoubleKeyFrame KeyTime="00:00:00.15" Value="150"/
>
            </DoubleAnimationUsingKeyFrames>
          </Storyboard>
          <Storyboard x:Key="CollapseMe">
            <DoubleAnimationUsingKeyFrames
Storyboard.TargetName="Content" Storyboard.TargetProperty="Height"
BeginTime="00:00:00">
              <LinearDoubleKeyFrame KeyTime="00:00:00.15" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
          </Storyboard>
        </Style.Resources>

        <Setter Property="Margin" Value="0,0,0,2"/>
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="Expander">
              <StackPanel Name="ExpanderStacker">
                <ToggleButton Name="Header"
                  IsChecked="{Binding Path=IsExpanded, Mode=TwoWay,
                                    RelativeSource={RelativeSource
TemplatedParent}}"
                  OverridesDefaultStyle="True"
                  Template="{StaticResource ExpanderToggleButton}"
                  Background="{StaticResource NormalBrush}">
                  <ToggleButton.Content>
                    <ContentPresenter
                     Margin="4"
                     ContentSource="Header"
                     RecognizesAccessKey="True" />
                  </ToggleButton.Content>
                </ToggleButton>
                <Border Name="Content"
                  Height="150"
                  Background="{StaticResource WindowBackgroundBrush}"
                  BorderBrush="{StaticResource SolidBorderBrush}"
                  BorderThickness="1,0,1,1"
                  CornerRadius="0,0,4,4" >
                  <Grid Name="ContentGrid">
                    <ContentPresenter Margin="4" />
                  </Grid>
                </Border>
              </StackPanel>
              <ControlTemplate.Triggers>
                <EventTrigger RoutedEvent="Expander.Expanded">
                  <EventTrigger.Actions>
                    <BeginStoryboard Storyboard="{StaticResource
ExpandMe}"/>
                  </EventTrigger.Actions>
                </EventTrigger>
                <EventTrigger RoutedEvent="Expander.Collapsed">
                  <EventTrigger.Actions>
                    <BeginStoryboard Storyboard="{StaticResource
CollapseMe}"/>
                  </EventTrigger.Actions>
                </EventTrigger>

                <Trigger Property="IsEnabled" Value="False">
                  <Setter Property="Foreground" Value="{StaticResource
DisabledForegroundBrush}"/>
                </Trigger>

              </ControlTemplate.Triggers>
            </ControlTemplate>
date: 5 Mar 2007 21:24:56 -0800   author:   unknown

XAML Binding / Animated Expander   
try to use Scale LayoutTransform from 0 to 1 in animation

EggHeadCafe.com - .NET Developer Portal of Choice 
http://www.eggheadcafe.com
date: Wed, 14 Mar 2007 02:57:05 -0700   author:   reVan

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us