2

オブジェクトで複数の変換を結合する方法を探していましたが、その方法を見つけましたが、transformgroupを配置しようとすると、 「プロパティ パス 'RenderTransform.ScaleX' のすべてのプロパティ参照を解決できません。適用可能なオブジェクトを確認してください」というエラーが表示されます。プロパティをサポートします。」

これがネットからコピーした私の変換コードです(「このコードを作成した人に感謝します」)

    <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>

これが私のオブジェクトです(ボタン)

        <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>
4

1 に答える 1

3

TransformGroup が含まれているためButton.RenderTransform、含まれている Transforms にChildrenプロパティでアクセスする必要があります。

<DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" ... />  
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" ... />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[1].Angle" ... />
于 2012-05-23T06:55:42.070 に答える