0

ユーザーが押すと不透明度が値0まで消える画像があります。ただし、ユーザーが画像を押し続けた場合にのみ効果が持続します。コードを次のように変更する方法はありますか?ユーザーが押すと、押し続けることなく、不透明度のフェード効果が維持されますか?XAMLでやりたいです。

<EventTrigger RoutedEvent="Button.Click" SourceName="press">
        <EventTrigger.Actions>
            <BeginStoryboard Storyboard="{StaticResource showA}"/>
        </EventTrigger.Actions>
    </EventTrigger>

<Button Grid.Column="5" Command="{Binding Path=PressC}" CommandParameter="dot" Style="{StaticResource TransparentButton}">
                <Button.Template>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Grid>
                            <Image Name="image5" Source="/W;component/Images/t.png" Height="100" />
                            <Image Name="pressed5" Source="/W;component/Images/T.png" Height="100" Width="200" Margin="-23,-136,-21,0" Visibility="Hidden" />
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsPressed" Value="True">          
                                <Trigger.EnterActions>
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <DoubleAnimation Storyboard.TargetName="pressed5" Storyboard.TargetProperty="Opacity" Duration="0:0:1.5" From="1" To="0"/>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </Trigger.EnterActions>

                                <Setter Property="Panel.ZIndex" Value="999"/>                           
                                <Setter TargetName="pressed5" Property="Visibility" Value="Visible"/>                                    
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Button.Template>
            </Button>
4

1 に答える 1

1

完全なxamlを表示できますか?ImageにはIsPressedプロパティがなく、どのように機能するかが明確ではないためです。ボタンの同様のコードは期待どおりに機能します。

<Button Background="Aquamarine">
<Button.Style>
  <Style TargetType="Button">
    <Style.Triggers>
      <Trigger Property="IsPressed" Value="True">
        <Trigger.EnterActions>
          <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation Storyboard.TargetProperty="Opacity" Duration="0:0:1.5" From="1" To="0"/>
            </Storyboard>
          </BeginStoryboard>
        </Trigger.EnterActions>
      </Trigger>
    </Style.Triggers>
  </Style>
</Button.Style>    

また、Imageの場合、EventTriggerでも機能します。

<Image Source="d:\123.png">
<Image.Style>
  <Style TargetType="Image">
    <Style.Triggers>
      <EventTrigger RoutedEvent="MouseDown">            
          <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation Storyboard.TargetProperty="Opacity" Duration="0:0:1.5" From="1" To="0"/>
            </Storyboard>
          </BeginStoryboard>            
      </EventTrigger>
    </Style.Triggers>
  </Style>
</Image.Style>

于 2012-04-10T07:21:09.397 に答える