2012-12-17 3 views
4

내 요소 중 하나에 대해 EntrenceThemeAnimation을 사용하지 않도록 설정하려고합니다. 이 애니메이션을 모두 자식으로 설정하는 Grid가 있습니다 (저는 이것이 페이지의 기본값이라고 생각합니다). 이 그리드의 하위 인 ContentControl에 대해이 애니메이션을 비활성화 할 수 있습니까?중첩 된 ContentControl에 대한 애니메이션 사용 안 함

다음을 시도했지만 작동하지 않습니다.

내용

<Grid Style="{StaticResource LayoutRootStyle}"> 
... 
<!-- no animations for this element --> 
<ContentControl x:Name="Background" Content="Tabstagram" Margin="0" Grid.Row="1" Style="{StaticResource Background}"> 
    <ContentControl.Transitions> 
     <TransitionCollection/> 
    </ContentControl.Transitions> 
    <ContentControl.ContentTransitions> 
     <TransitionCollection/> 
    </ContentControl.ContentTransitions> 
</ContentControl> 

스타일

<Style x:Key="LayoutRootStyle" TargetType="Panel"> 
    <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/> 
    <Setter Property="ChildrenTransitions"> 
     <Setter.Value> 
      <TransitionCollection> 
       <EntranceThemeTransition/> 
      </TransitionCollection> 
     </Setter.Value> 
    </Setter> 
</Style> 
<Style x:Key="Background" TargetType="ContentControl"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ContentControl"> 
       <Grid> 
        <Grid.ChildrenTransitions> 
         <TransitionCollection/> 
        </Grid.ChildrenTransitions> 
        <Grid.Transitions> 
         <TransitionCollection/> 
        </Grid.Transitions> 
        <Rectangle IsHitTestVisible="False" StrokeThickness="75" Margin="0" Fill="#FFC1C1C1"/> 
+1

나는 부모 그리드에서 CC를 깰 필요가있을 것이라고 확신한다. –

답변

1

나는 내 페이지에 대한이 LayoutRoot 그리드에서 다음을하고 올바르게 입구 테마 전환 비활성화 :

<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootStyle}"> 
    <Grid.ChildrenTransitions> 
     <TransitionCollection/> 
    </Grid.ChildrenTransitions> 

LayoutRootStyle을 사용하는 패널의 전환을 무시하고 있습니다. 리소스 대신 페이지에서이 작업을 수행하고 있습니다.

이러한 애니메이션은 하위 컨트롤이 비활성화되어 있는지 여부에 관계없이 사용할 수있는 첫 번째 컨트롤에서 아래로 흐를 수 있습니다. 두 패널을 같은 계층의 UI 계층 구조 (다른 계층 내부에 중첩 된 구조체가 아닌 동급 구조체)에 배치하고 그 구조가 수정되는지 확인할 수 있습니다.

관련 문제