2010-03-04 12 views
5

मैं व्यक्तिगत उपयोग के लिए एक आवेदन लिख रहा हूं जो ट्रैक करेगा कि मैं कितनी बार माउस तक पहुंचता हूं, और यह कितना समय तक मैं बेकार हो गया हूं इसका एक काउंटर रखूंगा। जब मैं माउस का उपयोग करता हूं, तो मैं इसे एक नकारात्मक मजबूती क्रिया के रूप में एक सेकंड के लिए अपने डेस्कटॉप वर्कस्पेस को हिला देना चाहता हूं।क्या मैं WPF का उपयोग कर एक उपयोगकर्ता डेस्कटॉप हिला सकता हूं?

एप्लिकेशन को wristSlap कहा जा रहा है और जैसे ही मेरे पास संस्करण 0.1 तैयार है, जिथब पर होगा।

+0

इसे एक उत्तर के रूप में जोड़ें और मैं इसे स्वीकृत उत्तर के रूप में चिह्नित करूंगा। –

उत्तर

4

डैनी पारदर्शी विंडो विचार के साथ कुछ पर है। लेकिन यह पारदर्शी नहीं होना चाहिए। हालांकि आपको कुछ निश्चित सीमाएं स्वीकार करनी होंगी।

आप डेस्कटॉप के grab a screen shot और एक पूर्ण स्क्रीन WPF विंडो पर लागू करना चाहते हैं। (डब्ल्यूपीएफ विंडो के लिए एक आसान पूर्णस्क्रीनबैवियर के लिए मेरा blog देखें)। फिर आप मूल तत्व पर एक अनुवाद लेआउट परिवर्तन के लिए कुछ मिर्गी-प्रेरक एनीमेशन लागू करेंगे। यह हिलाने का प्रभाव देगा। अंत में खिड़की बस बंद हो सकती है।

चूंकि एनीमेशन के दौरान सबकुछ के निर्देशांक पूरे स्थान पर होंगे, शायद आप चलती डेस्कटॉप पर अंतर्निहित नियंत्रण में माउस क्लिक का अनुवाद करने की कोशिश करने से परेशान नहीं होना चाहते हैं। अगर एनीमेशन काफी छोटा है तो इससे कोई फर्क नहीं पड़ता क्योंकि आपके पास हिलाते समय कुछ भी क्लिक करने का प्रयास करने का समय नहीं होगा।

अधिक यथार्थवाद के लिए आप डेस्कटॉप के "लाइव" दृश्य को प्रोजेक्ट करने के लिए डीडब्लूएम (डेस्कटॉप विंडो मैनेजर) का उपयोग करने में देख सकते हैं, लेकिन शायद यह इसके लायक नहीं है, खासकर अगर आप एनीमेशन को बहुत कम रखते हैं।

मैं लगभग इसे मज़ेदार बनाने की कोशिश करना चाहता हूं।

मैं इसके लिए एक स्थिर छवि का उपयोग कर इसके साथ आया था। यह ठीक है लेकिन इसे बेहतर किया जा सकता है।

<Image Source="Slide1.png" Stretch="UniformToFill"> 

<Image.Effect> 
    <BlurEffect Radius="5" /> 
</Image.Effect> 

<Image.RenderTransform> 
    <TranslateTransform Y="0" X="0"/> 
</Image.RenderTransform> 

<Image.Triggers> 
    <EventTrigger RoutedEvent="FrameworkElement.Loaded"> 
    <BeginStoryboard> 
     <Storyboard RepeatBehavior="00:00:01" SpeedRatio="15"> 
     <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="-10"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="10"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0"/> 
     </DoubleAnimationUsingKeyFrames> 
     <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)"> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="-10"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="-10"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="10"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.7000000" Value="10"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0"/> 
     </DoubleAnimationUsingKeyFrames> 
     </Storyboard> 
    </BeginStoryboard> 
    </EventTrigger> 
</Image.Triggers> 

</Image> 
+0

यह वास्तव में थोड़ा बुरा लगता है (कोई अपराध नहीं, यह तकनीकी रूप से दिलचस्प है)। नकली एंटीवायरस अनुप्रयोगों की कल्पना करें जो आपको अपनी खिड़कियां छोड़ने से रोकने के लिए ऐसा करते हैं। – Riddari

+1

वैसे यही कारण है कि सिल्वरलाइट वेब ऐप्स आपको पूर्ण स्क्रीन विंडो नहीं देगा जो कीबोर्ड इनपुट स्वीकार करता है। लेकिन यह डब्ल्यूपीएफ के बारे में है जिसकी विंडोज एपीआई तक पूर्ण पहुंच है, इसलिए एक पूर्ण स्क्रीन विंडो दिखाना चिंता का विषय नहीं है। यदि आपके डेस्कटॉप पर एक डब्ल्यूपीएफ ऐप चल रहा है तो यह पहले से ही जो कुछ भी चाहता है वह कर सकता है। नियंत्रण + Alt + Delete अनुक्रम के लिए यही है। – Josh

+0

एफवाईआई, सिल्वरलाइट 4 में पूर्णस्क्रीन मोड में कुछ कीबोर्ड इनपुट क्षमताएं होंगी। – Gabe

1

आप एक बदलते घुमावदार शेडर प्रभाव के साथ एक पारदर्शी विंडो बना सकते हैं।

मुझे यकीन नहीं है कि कंप्यूटर पर आपकी लत को हल किया जाएगा।

+0

यह उन कंप्यूटरों की लत नहीं है जिन्हें मैं हिलाकर रखने की कोशिश कर रहा हूं। मैं ऐसा कुछ करने की कोशिश कर रहा हूं जो मुझे माउस को अक्सर कम इस्तेमाल करता है और कीबोर्ड का अधिक उपयोग करता है। –

+0

फिर Logitech dinovo मिनी आज़माएं। –

संबंधित मुद्दे