0

まず私の英語でごめんなさい。ElementName が最初のケースでは機能せず、2 番目のケースでは機能する理由を尋ねたかったのです。

コードの 2 つのセクションを示します。最初は機能しません

<Button                         
         Name="button1" Width="100" >
        <Button.LayoutTransform>
            <ScaleTransform x:Name="ttt" ScaleX="3" ScaleY="6"/>
        </Button.LayoutTransform>
        <Button.Triggers>
            <EventTrigger RoutedEvent="Path.Loaded">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard RepeatBehavior="Forever">
                            <DoubleAnimation
                                Storyboard.Target="{Binding ElementName=ttt}"
                                Storyboard.TargetProperty="ScaleX"
                                From="10"
                                To="5"
                                Duration="0:0:1"
                                />                                
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Button.Triggers>
        Button
    </Button>

しかし、それは機能します

<Button                         
         Name="button1" Width="100" >
        <Button.LayoutTransform>
            <ScaleTransform x:Name="ttt" ScaleX="3" ScaleY="6"/>
        </Button.LayoutTransform>
        <Button.Triggers>
            <EventTrigger RoutedEvent="Path.Loaded">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard RepeatBehavior="Forever">
                            <DoubleAnimation
                                Storyboard.Target="{Binding ElementName=button1}"
                                Storyboard.TargetProperty="Width"
                                From="100"
                                To="50"
                                Duration="0:0:1"
                                />                                
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Button.Triggers>
        Button
    </Button>

Storyboard.TargetName を使用できることはわかっています。

4

1 に答える 1

3

あなたの問題は、 aScaleTransformがビジュアルツリーの一部ではないため、{Binding ElementName=ttt}式で見つけることができないことだと思います。

ただし、代わりに次のコードを使用してみてください。

Storyboard.TargetName="ttt"

これがうまくいくことを願っています。幸運を!

于 2010-04-27T07:12:07.330 に答える