이 텍스트 블록 페이드 인 트리거를 스타일로 변환하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/914752

  •  06-09-2019
  •  | 
  •  

문제

이 xaml은 텍스트가 나타날 때 텍스트를 희미하게 만듭니다.

이 기능을 스타일로 만들고 싶습니다.

그러나 스타일이 어떤 요소를 사용할 것인지 알지 못하기 때문에 "TargetName"에 대해 무엇을 넣습니까?

이 페이드 인 효과를 어떻게 스타일로 변환 할 수 있습니까?

<TextBlock Name="Message" Text="This is a test.">
  <TextBlock.Triggers>
    <EventTrigger RoutedEvent="TextBlock.Loaded">
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation
            Storyboard.TargetName="Message" 
            Storyboard.TargetProperty="(TextBlock.Opacity)"
            From="0.0" To="1.0" Duration="0:0:3"/>
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </TextBlock.Triggers>
</TextBlock>
도움이 되었습니까?

해결책

TargetName을 사용할 필요가 없습니다. 이것은 작동합니다 :

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
    <Style TargetType="TextBlock">
      <Style.Triggers>
        <EventTrigger RoutedEvent="TextBlock.Loaded">
          <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation
                Storyboard.TargetProperty="(TextBlock.Opacity)"
                From="0.0" To="1.0" Duration="0:0:3"/>
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Style.Triggers>
    </Style>  
  </Page.Resources>
  <Grid>
    <TextBlock Name="Message" Text="This is a test.">
    </TextBlock>
  </Grid>
</Page>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top