2

SelectionChanged のアニメーションを使用して、選択されていない色から選択されている色に TabItem の色を変更するにはどうすればよいですか?

編集:これは、私の CustomTemplate がどのように見えるかです。アニメーションがまったく発生していないので、何が間違っていますか?

 <Style TargetType="TabItem">
        <Setter Property="IsEnabled" Value="False" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="TabItem">
                    <Grid>
                        <Border BorderBrush="Transparent" BorderThickness="0" MinWidth="120">
                            <StackPanel Orientation="Vertical">
                                <ContentPresenter HorizontalAlignment="Center" ContentSource="Header" />
                                <Ellipse Name="Ellipse" Stroke="Black" StrokeThickness="1" Width="24" Height="24" Margin="5" Fill="Transparent" />
                            </StackPanel>
                        </Border>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="IsSelected" Value="True" />
                                <Condition Property="Ellipse.Fill" Value="Transparent" />
                            </MultiTrigger.Conditions>
                            <MultiTrigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <ColorAnimation Storyboard.TargetName="Ellipse" Storyboard.TargetProperty="Fill"
                                                        From="Transparent" To="Orange" Duration="0:0:1" />
                                    </Storyboard>
                                </BeginStoryboard>
                            </MultiTrigger.EnterActions>
                        </MultiTrigger>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="IsSelected" Value="False" />
                                <Condition Property="Ellipse.Fill" Value="Orange" />
                            </MultiTrigger.Conditions>
                            <MultiTrigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <ColorAnimation Storyboard.TargetName="Ellipse" Storyboard.TargetProperty="Fill"
                                                        From="Orange" To="Transparent" Duration="0:0:1" />
                                    </Storyboard>
                                </BeginStoryboard>
                            </MultiTrigger.EnterActions>
                        </MultiTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
4

1 に答える 1

0

カスタム TabItem テンプレートを定義し、トリガーを使用してアニメーションを実行できます。

于 2010-10-29T08:39:40.987 に答える