usar transformgroup en wpf da un error

estaba buscando combinar múltiples transformaciones en un objeto y descubrí cómo, pero el problema es cuando trato de poner transformargrupo, da un error "No se pueden resolver todas las referencias de propiedad en la ruta de propiedad 'RenderTransform.ScaleX'. Verifique que los objetos aplicables admitan las propiedades".

aquí está mi código de transformación que copié de la red ("gracias a los que hicieron este código")

    <Window.Resources>
    <Storyboard x:Key="expandStoryboard">
        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" 
    To="1.3" Duration="0:0:0.2" />
        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY"
    To="1.3" Duration="0:0:0.2" />
    </Storyboard>
    <Storyboard x:Key="shrinkStoryboard">
        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX"
    To="1" Duration="0:0:0.2" />
        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY"
    To="1" Duration="0:0:0.2" />
    </Storyboard>
    <Storyboard x:Key="shakeStoryBoard">
        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Angle"
                            From="-5" To="5" Duration="0:0:0.05" 
                            AutoReverse="True"
                            RepeatBehavior="3x"
                            FillBehavior="Stop" />
    </Storyboard>

y este es mi objeto (botón)

        <Button RenderTransformOrigin="0.5,0.5" Background="Transparent" Focusable="False"  BorderBrush="Transparent"  Height="220" HorizontalAlignment="Left" Margin="591,213,0,0" Name="cmdsettings" VerticalAlignment="Top" Width="189">
        <StackPanel Orientation="Vertical" HorizontalAlignment="Center"  VerticalAlignment="Center" Width="217" Height="220">
            <Image HorizontalAlignment="Center" VerticalAlignment="Center"   Source="Images/settings.png" Height="192" Width="204" />
            <TextBlock VerticalAlignment="center" TextAlignment="center" FontSize="16" Width="123" Foreground="white" FontWeight="Bold" Height="20">Settings</TextBlock>
        </StackPanel>
        <Button.Triggers>
            <EventTrigger RoutedEvent="Button.MouseEnter">
                <BeginStoryboard Storyboard="{StaticResource expandStoryboard}" />
            </EventTrigger>
            <EventTrigger RoutedEvent="Button.MouseLeave">
                <BeginStoryboard Storyboard="{StaticResource shrinkStoryboard}" />
            </EventTrigger>
            <EventTrigger RoutedEvent="Button.Click">
                <BeginStoryboard Storyboard="{StaticResource shakeStoryBoard}" />
            </EventTrigger>
        </Button.Triggers>
        <Button.RenderTransform >
            <TransformGroup>
                <ScaleTransform ScaleX="1" ScaleY="1"/>
                <RotateTransform />
            </TransformGroup>                    
        </Button.RenderTransform>
    </Button>

preguntado el 23 de mayo de 12 a las 07:05

1 Respuestas

Como Button.RenderTransform contiene un TransformGroup, tendría que acceder a los Transforms contenidos por su Niños propiedad:

<DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" ... />  
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" ... />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[1].Angle" ... />

contestado el 23 de mayo de 12 a las 07:05

muchas gracias por tu respuesta ¡Si, funciona! ahora mi próximo plan es hacer botones dispersos cuando hago clic... gracias por su respuesta... Dios los bendiga :) - user1405327

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.