2012-02-27 2 views
0

스토리 보드를 styles.xaml과 같은 리소스 파일에 배치 할 수 있습니까? 여러 페이지에서 재사용 할 수있는 도구 모음이 있습니다. 나는이 페이지 수준의 리소스와 지금 작업 한 :Silverlight 애니메이션 리소스 파일의 스토리 보드

<navigation:Page.Resources> 
     <Storyboard x:Name="sbToolbarInitialization"> 
      <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" 
              Storyboard.TargetName="Toolbar"> 
       <EasingDoubleKeyFrame KeyTime="0" 
             Value="46" /> 
       <EasingDoubleKeyFrame KeyTime="0:0:1" 
             Value="0"> 
        <EasingDoubleKeyFrame.EasingFunction> 
         <BackEase EasingMode="EaseOut" /> 
        </EasingDoubleKeyFrame.EasingFunction> 
       </EasingDoubleKeyFrame> 
      </DoubleAnimationUsingKeyFrames> 
     </Storyboard> 
    </navigation:Page.Resources> 

국경 통제가 사용하는 :

<Border x:Name="Toolbar" 
       Style="{StaticResource ToolbarBorderStyle}"> 
      <Border.RenderTransform> 
       <CompositeTransform /> 
      </Border.RenderTransform> 
      <i:Interaction.Triggers> 
       <i:EventTrigger> 
        <ei:ControlStoryboardAction Storyboard="{StaticResource sbToolbarInitialization}" /> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
</Border> 

나는 이미 내가하고 싶은 테두리 서식을 배치 할 style.xaml 파일을 사용하고 있기 때문에 거기에 스토리 보드를 저장할 수도 있습니다. 이것이 가능한가?

답변

0

Storyboard를 App.xaml 파일에 저장하고 전체 응용 프로그램에서 사용하는 것과 비슷한 작업을 수행했습니다.

public Storyboard MyStoryBoard = Application.Current.Resources["MyStoryBoard "] as Storyboard; 

당신은 다음 선언적으로보기에 그 스토리 보드 속성을 바인딩 할 수 있습니다 : 당신의 뒤에 코드 또는 뷰 - 모델에 액세스하는 한 가지 방법은 같은 것입니다.

+0

제안 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. 대부분 그냥 페이지 수준에서 이러한 종류의 물건을 유지하고 필요에 따라 복제하고 있습니까? – Dan

+0

우리는 스토리 보드를 재사용 할 수있는 패턴을 개발할 때까지 보통 그렇습니다. 그런 다음 우리는보다 글로벌하게 액세스 할 수있는 메커니즘으로 그 패턴을 풀어냅니다. 그것이 당신의 견해에 특정한 것이라면, 나는 그것을 지역에 유지하는 것이 좋습니다. – KodeKreachor