GridView itemtemplate에서 VisualStates를 사용할 수 있습니까? ItemContainerStyle ControlTemplate을 통해 VisualStates를 설정하면 VisualStates를 사용할 수 있지만 ContentPresenter를 포함하여 같은 레벨의 항목에만 액세스 할 수 있습니다. 내가하고 싶은 것은 콘텐츠 발표자 내부의 컨트롤의 배경색을 변경하는 것입니다. 어떤 효과가없는 것 같은 간단한 예가 있습니다.WinRT GridView의 시각적 상태 관리자 ItemTemplate
<GridView x:Name="ItemsGrid" ItemContainerStyle="{StaticResource StyleWhereVisualStatesWork}">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate> //This Is Where I Can't Get Visual States To Work
<DataTemplate>
<Grid x:Name="ContainerGrid">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="TestBackgroundGrid">
<DiscreteColorKeyFrame KeyTime="0" Value="{StaticResource SomeBrush}"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="TestBackgroundGrid" Height="60" Width=60" Background="{StaticResource SomeStandardColourBrush}">
</Grid>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
감사합니다. 제프, 당신이 옳을 거라 확신합니다. 내 ItemTemplate을 완전히 버리고 ItemContainer에있는 내용을 배치했습니다. ContentPresenter가 완전히 제거됩니다. 예상대로 작동하는 것 같습니다. 뭔가 다른 일을하고있는 것처럼 느껴진다. Item 템플릿을 가지고있는 점이 무엇인지는 모르겠지만, 그것이 작동한다면 .... – Oli