내가 항목을 유지하는 경우를 위해 멋진 전경 애니메이션 효과를 얻기 위해 시도에 몇 지난 일을 많이 내 머리를 작업했습니다.애니메이션 LongListSelectorItem 전경 윈도우 폰의 대기에
항목 템플릿은 다음과 같습니다
<DataTemplate>
<StackPanel toolkit:TiltEffect.IsTiltEnabled="True" Hold="OnLongListSelectorItemHold">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="edit" />
<toolkit:MenuItem Header="delete" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<TextBlock x:Name="SubjectTextBlock" Text="{Binding Subject}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Last modified :" Margin="15, 0, 5, 0" Foreground="LightGray" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock Text="{Binding LastModified}" Foreground="#989696" Style="{StaticResource PhoneTextNormalStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
나는 여러 방법을 시도,하지만 난 그들 중에서 결과를 얻을 관리하지 않았습니다.
나는 여러 예를 보여줍니다 this nice MSDN post 통해 온, 단,TextBlock
가
DataTemplate
그래서 난 특정 제어 접근에 문제가 내부에 내가
TextBlock
의 참조, 애니메이션을 적용 할 전경 때문에 그들 중 누구도 정말 내 사건과 일치 할 수 없었다 템플릿 안쪽.
<phone:PhoneApplicationPage.Resources>
<Storyboard x:Name="ItemHoldAnimation">
<ColorAnimation Storyboard.TargetName="SubjectTextBlock"
Storyboard.TargetProperty="Foreground"
From="White" To="{StaticResource PhoneAccentColor}" Duration="0:00:04"/>
</Storyboard>
</phone:PhoneApplicationPage.Resources>
그리고 다음 Hold
이벤트 핸들러에서 그것을 발사 : TargetName="SubjectTextBlock"
액세스 할 수없는 때문에이 내부에 있기 때문에
var storyboard = Resources["ItemHoldAnimation"] as Storyboard;
storyboard.Begin();
그러나 실패
예를 들어, 나는이 방법을 시도 DataTemplate
...
나는 WPF에서 발견 한 접근법을(3210)는 다음과 같이 다음 LongListSelector
항목이 개최 때 많은 단지 글꼴을 애니메이션하기
MS.Internal.WrappedException: Error HRESULT E_FAIL has been returned from a call to a COM component. ---> System.Exception: Error HRESULT E_FAIL has been returned from a call to a COM component.
<StackPanel toolkit:TiltEffect.IsTiltEnabled="True" Hold="OnLongListSelectorItemHold">
<StackPanel.Triggers>
<EventTrigger RoutedEvent="StackPanel.Hold">
<BeginStoryboard Storyboard="{StaticResource ItemHoldAnimation}"/>
</EventTrigger>
</StackPanel.Triggers>
...
</StackPanel>
있지만 COM 예외를 제공은 ...
접근 무엇입니까 이 문제를 해결 하시겠습니까?
대답 주셔서 대단히 감사합니다! 그래서 처음에는 일종의 옳은 길에 있었지만 다른 구현 방법과 잃어버린 길을 살펴 보았습니다. 고맙습니다! – VasileF
위대한 답변! 하지만 컨텍스트 메뉴가 닫힌 후에 어떻게 색을 없앨까요? – Silva
@ Silva 그냥 내 대답을 업데이트했습니다 –