전 화면 WPF 응용 프로그램에 대해 "멋지게 보입니다"효과를 만들 수있는 방법을 찾고 있는데, 그 효과는 움직이거나 움직이는 "화면 반짝임"효과입니다 반짝이는 디스플레이 경험을 제공하는 전체 화면. 하이라이트 된 그라디언트와 투명한 배경을 가진 큰 사각형을 만드는 것이 생각 중입니다.이 배경은 화면에서 움직일 수 있습니다. 이 방법을 XAML에서 효과적으로 수행 할 수있는 아이디어가 있습니까?WPF 또는 Silverlight의 화면 반짝임 효과
5
A
답변
5
나는 꽤 좋은 솔루션을 생각해 냈습니다. 나는 혼합 2.0 SP1에서 돌리고 일부 샘플 XAML은 다음과 같습니다
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ScreenGlintApplication.Window1"
x:Name="Window"
Title="Window1"
Width="500" Height="250" Background="#FF000000" Foreground="#FF3EE229" >
<Grid x:Name="LayoutRoot">
<TextBlock TextWrapping="Wrap" FontSize="40" >
<Run Text="This is some sample text to have something to work with. Have a nice day! /Johan"/>
</TextBlock>
<Canvas Panel.ZIndex="99" >
<Rectangle x:Name="ScreenGlintRect"
Width="{Binding Path=ActualWidth, ElementName=Window, Mode=Default}"
Height="{Binding Path=ActualHeight, ElementName=Window, Mode=Default}"
Opacity="0.4" >
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="ScreenGlintRect"
Storyboard.TargetProperty="(Canvas.Left)"
From="-500" To="1000" Duration="0:0:2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,1" EndPoint="1,1">
<GradientStop Color="Transparent" Offset="0.0" />
<GradientStop x:Name="GlintColor" Color="LightGreen" Offset="0.50" />
<GradientStop Color="Transparent" Offset="1" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Canvas>
</Grid>
</Window>
의 옵션을 사용하면 애니메이션의 세부적인 제어를하려면 꽤 깔끔한 인 뒤에 코드에서이 작업을 수행하는 것입니다. 예를 들면 다음과 같습니다.
ScreenGlintRect.Width = Width;
ScreenGlintRect.Height = Height;
var animation = new DoubleAnimation
{
Duration = new Duration(TimeSpan.FromSeconds(2)),
From = (-Width),
To = Width * 2
};
ScreenGlintRect.BeginAnimation(Canvas.LeftProperty, animation);
이 코드는 제가 사용하고있는 코드입니다. HW 가속도를 얻었다면 약간의 흐려짐을 시도해 볼 수 있습니다. 코드를 조정하고 사각형을 숨기거나 표시해야 할 수도 있지만 기본적으로이 코드가 적용됩니다.
2
메인 그리드의 "상단"에 투명한 패널을 배치하고 패널에 배치 된 요소에 애니메이션을 적용하는 것은 쉽습니다. 패널을 "맨 위에"놓으려면 XAML 계층의 끝에 다른 요소 다음에 배치하기 만하면됩니다. 또는 "ZIndex"속성을 사용할 수 있습니다.
로랑은
0
당신은 LBugnion 말한 것처럼 상단에 투명 패널을 넣을 수 있습니다,하지만 당신이 할 수있는 많은 방법이 있습니다 잊지 마세요 :
- 변경 숨겨진에 대한 패널의 가시성.
- 변경 0
0으로
주제에서 벗어나지 만 : 미묘한 효과를 내기 위해 켜기/끄기 옵션을 설정하십시오.
0
진도 막대의 this article에 첨부 된 비스타 스타일 진행률 표시 줄에는 비스타 스타일의 반짝임이있는 샘플 코드가 있습니다. 테두리 및 브러시와 변환기를 사용하여 애니메이션을 만듭니다. 나는 거기에있는 모든 것을 완전히 이해한다고 말할 수는 없지만 훌륭하게 작동합니다. 필요에 따라 쉽게 복사 할 수 있어야합니다.
관련 문제
- 1. Silverlight의 전체 화면 모드
- 2. OpenGL 화면 전환 효과?
- 3. WPF/Silverlight의 속성 상속?
- 4. Android 홈 화면 효과
- 5. cocos2d 화면 효과
- 6. WPF/Silverlight의 UIElement와 FrameworkElement
- 7. WPF/Silverlight의 애니메이션 리소스?
- 8. Wpf 체적 효과?
- 9. Java에서 레일즈 메시지 반짝임
- 10. Silverlight의 YahooMaps 또는 OpenStreetMaps?
- 11. IronPython 또는 IronRuby는 WPF/Silverlight의 MVVM 패턴에 가장 적합합니까?
- 12. WPF 마우스 오버 트리거 효과
- 13. JOGL 밉맵 및 텍스처 반짝임
- 14. WPF - 많은 요소에서 같은 효과
- 15. Silverlight의 TranslateTransform.BeginAnimation?
- 16. 페이드 아웃 된 화면 효과 만들기 iphone
- 17. 화면 열기 및 닫기 효과? iPhone
- 18. 라이브 배경 화면 시차 효과 스크롤
- 19. silverlight의 보고서 뷰어 컨트롤
- 20. WPF 로그인 화면
- 21. WPF 전체 화면 최대화
- 22. WPf 로딩 화면
- 23. WPF - MVVM 화면 관리
- 24. WPF 및 Silverlight의 정적 속성에서 INotifyProperty가 변경되었습니다.
- 25. dropshadow 및 기타 WPF 효과 인쇄
- 26. WPF 및 3D로 보울 효과 만들기
- 27. 효과
- 28. WPF 비트 맵 효과 결과 이미지 저장
- 29. WPF DataGrid 행에 애니메이션 효과 적용
- 30. WPF 전체 화면 포커스 문제?
대화 형 컨트롤이있는 경우 캔버스에'IsHitTestVisible = "False"를 추가해야합니다. –