0

저는 실버 라이트가 생소하며 스토리 보드가 끝나거나 끝날 때에도 트리거하려고합니다. 나는 어떻게 그 일을 계속 할 것인가. 이미 마우스 입력시 스토리 보드에 하나의 트리거가 있습니다. 거기에 더 많은 이벤트를 추가 할 수 있을지 확실하지 않습니다. 감사합니다.스토리 보드 끝에서 이벤트가 발생합니다.

+0

stroyboard.complete는 – Autolycus

+0

으로 생각하지만 사용 방법을 잘 모르겠습니다. – Autolycus

답변

6

"StoryBoardComplete"동작을 사용하십시오. 에셋 패널의 "비헤이비어"에서 찾을 수 있습니다.

편집 : 죄송합니다. 나는 서두르고 메모리에서 잘못 대답했습니다. Silverlight를 처음 사용한다고 말했을 때 더 자세한 정보를 제공해야하며 대답을 확인해야합니다.

수정 된 답변 : 행동에 "스토리 보드 완료 트릭 거"를 사용하십시오. Storyboard가 완료되면 Rectangle의 Fill 속성을 변경하려고한다고 가정 해 보겠습니다. 응용 프로그램에 사각형을 추가

enter image description here

은 자산 패널 (프로젝트 패널과 동일한 탭 그룹)로 이동합니다. "Behaviors"카테고리를 열고 "ChangePropertyAction"을 찾습니다.

enter image description here

끌어 직사각형에 하나 놓는다. 개체 및 타임 라인은 지금과 같이 보일 것이다 다음 ChangePropertyAction 항목을 선택

enter image description here

하는 것으로. , 트리거 섹션에서

enter image description here

을 내가 당신을 위해 강조했습니다 "새"버튼을 클릭 : 이제 속성 패널로 이동합니다. 그러면 대화 상자가 열리고 다른 TriggerType을 선택할 수 있습니다. 이 경우는 "StoryboardCompletedTrigger"를 원하는 :

enter image description here

스토리 보드 및 PROPERTYNAME 값을 입력합니다.

enter image description here

지금 Storyboard1는 사각형의 채우기 속성을 빨간색으로 변경해야 완료 될 때. 다음은이 간단한 예를 들어 compelte XAML 코드는 다음과 같습니다

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" mc:Ignorable="d" 
x:Class="SilverlightApplication2.MainPage" 
Width="640" Height="480"> 
<UserControl.Resources> 
    <Storyboard x:Name="Storyboard1"> 
     <DoubleAnimation Duration="0:0:0.9" To="-360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/> 
    </Storyboard> 
</UserControl.Resources> 

<Grid x:Name="LayoutRoot" Background="White"> 
    <Rectangle x:Name="rectangle" Fill="#FF0000F7" HorizontalAlignment="Left" Margin="86,133,0,225" Stroke="Black" Width="210" RenderTransformOrigin="0.5,0.5"> 
     <Rectangle.RenderTransform> 
      <CompositeTransform/> 
     </Rectangle.RenderTransform> 
     <i:Interaction.Triggers> 
      <ei:StoryboardCompletedTrigger Storyboard="{StaticResource Storyboard1}"> 
       <ei:ChangePropertyAction PropertyName="Fill"> 
        <ei:ChangePropertyAction.Value> 
         <SolidColorBrush Color="Red"/> 
        </ei:ChangePropertyAction.Value> 
       </ei:ChangePropertyAction> 
      </ei:StoryboardCompletedTrigger> 
     </i:Interaction.Triggers> 
    </Rectangle> 
    <Button Content="Button" HorizontalAlignment="Left" Height="50" Margin="86,0,0,98" VerticalAlignment="Bottom" Width="110"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="Click"> 
       <ei:ControlStoryboardAction Storyboard="{StaticResource Storyboard1}"/> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </Button> 
</Grid> 

YMMV :이 방법은 행동와 함께 사용하기위한 것입니다. 귀하의 상황을 모른 채 더 나은 추천을 할 수는 없지만 이것이 원하는 것을 성취하는 전형적인 방법입니다.