2012-07-02 33 views
7

में डॉट-डॉट-डॉट प्रगति प्रदर्शित करें मुझे प्रगति दिखाने के लिए कुछ उदाहरण मिले हैं जहां प्रगति सलाखों और पहियों का उपयोग किया जाता है; मुझे प्रगति का संदर्भ देने के लिए एक इलिप्सिस (डॉट-डॉट-डॉट) दिखाने के लिए केवल एक जावास्क्रिप्ट उदाहरण मिल सकता है इसलिए मैंने इस सवाल से पूछने के बारे में सोचा। मेरा ऐप बहुत जटिल नहीं है - इसमें केवल कुछ चेक-बॉक्स और एक बटन है। हाल ही में मेरी टीम ने एक वृद्धि के लिए अनुरोध किया है और इसे भी सरल रखना चाहते हैं।डब्ल्यूपीएफ बटन

'गो' नाम का एक बटन है जिसे उपयोगकर्ता आवश्यक सेटिंग्स को कॉन्फ़िगर करने के बाद क्लिक करता है। इसके पीछे का कोड भी वास्तव में सीधा है - यह क्लिक ईवेंट के बाद बटन को अक्षम करता है और कॉल ProcessStartInfo का उपयोग करके एक स्टैंडअलोन एक्सई है जो तीन क्रियाओं 'रिकिकल', 'पोस्ट' और 'प्रकाशित' करता है। मैं बटन को पुनः सक्षम करने के लिए WaitForExist() विधि का उपयोग करता हूं।

मुझे मेरी टीम द्वारा बटन पर 'वर्तमान प्रक्रिया' दिखाने के लिए अनुरोध किया गया था। वे बस बटन टेक्स्ट को रिकॉन्सिलिंग दिखाना चाहते हैं। Reconciling .. Reconciling ... (नियमित अंतराल पर, 1 सेकंड) एक ही फैशन में पोस्टिंग और प्रकाशन के बाद।

यह हासिल करने के लिए सबसे उपयुक्त तरीका जानना अच्छा लगेगा। अग्रिम में धन्यवाद।

उत्तर

9

ऐसा करने का सबसे आसान तरीका ObjectAnimationUsingKeyFrames का उपयोग कर रहा है। सामग्री पर लक्ष्यप्रॉपर्टी सेट करें और प्रत्येक DiscreteObjectKeyFrame से Reconciling. Reconciling.. Reconciling... के Value सेट करें।

<ControlTemplate.Triggers> 
    <Trigger Property="IsEnabled" Value="False"> 
     <Trigger.EnterActions> 
      <BeginStoryboard> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_Content" Storyboard.TargetProperty="Content" Duration="00:00:00.8" RepeatBehavior="Forever"> 
         <DiscreteObjectKeyFrame KeyTime="00:00:00.0" Value="Loading"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:00.2" Value="Loading."/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:00.4" Value="Loading.."/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:00.6" Value="Loading..."/> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard> 
     </Trigger.EnterActions> 
    </Trigger> 
</ControlTemplate.Triggers> 
+0

धन्यवाद एक बहुत: के लिए एक एक ContentPresenter नामित साथ ControlTemplatePART_Content

उदाहरण। मैं इसे लागू करने की कोशिश करूंगा और आपको बताऊंगा कि मुझे और मदद चाहिए या नहीं। तथापि; चूंकि मेरे पास WinForms हैंगओवर है; मैं उम्मीद कर रहा था कि समाधान xaml के बजाय कोड में अधिक संभाला जाएगा। –