Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Danny is onto something with the transparent window idea. But it doesn't have to be transparent. You would have to accept some certain limitations though.</p> <p>You would want to <a href="http://www.codeproject.com/KB/dialog/screencap.aspx" rel="nofollow noreferrer">grab a screen shot</a> of the desktop and apply it to a full screen WPF window. (Check out my <a href="http://www.josheinstein.com/blog/index.php/2010/02/fullscreenbehavior-wpf/" rel="nofollow noreferrer">blog</a> for a handy FullScreenBehavior for WPF Window). Then you would just apply some epilepsy-inducing animation to a translate layout transform on the root element. This would give the effect of shaking. At the end the window could just close.</p> <p>Since during the animation the coordinates of everything will be all over the place, you probably don't want to be bothered with trying to translate mouse clicks on the moving desktop to the underlying control. If the animation is short enough it won't matter because you won't have time to try to click anything while it is shaking.</p> <p>For more realism you could look into using the DWM (Desktop Window Manager) to project a "live" view of the desktop but that's probably not worth it especially if you keep the animation very short.</p> <p>I almost want to try this myself for fun.</p> <p>I came up with this using a static image for now. It's ok but it could be improved.</p> <pre><code>&lt;Image Source="Slide1.png" Stretch="UniformToFill"&gt; &lt;Image.Effect&gt; &lt;BlurEffect Radius="5" /&gt; &lt;/Image.Effect&gt; &lt;Image.RenderTransform&gt; &lt;TranslateTransform Y="0" X="0"/&gt; &lt;/Image.RenderTransform&gt; &lt;Image.Triggers&gt; &lt;EventTrigger RoutedEvent="FrameworkElement.Loaded"&gt; &lt;BeginStoryboard&gt; &lt;Storyboard RepeatBehavior="00:00:01" SpeedRatio="15"&gt; &lt;DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="-10"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="10"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0"/&gt; &lt;/DoubleAnimationUsingKeyFrames&gt; &lt;DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="-10"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="-10"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="10"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.7000000" Value="10"/&gt; &lt;SplineDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0"/&gt; &lt;/DoubleAnimationUsingKeyFrames&gt; &lt;/Storyboard&gt; &lt;/BeginStoryboard&gt; &lt;/EventTrigger&gt; &lt;/Image.Triggers&gt; &lt;/Image&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload