2010-05-16 11 views
10

यह सभी सवालों के सबसे सरल होना है, लेकिन मुझे लगता है कि यह समझ में नहीं आता है। मेरे पास प्रगति पट्टी है, मैं इसे प्रगति कैसे दिखा सकता हूं। मैं चीज़ कैसे शुरू करूं?एक WPF प्रगति पट्टी में Indeterminate = "True" जब आप प्रगति कैसे दिखाते हैं?

<ProgressBar x:Name="ProgressUpload" Margin="5" IsIndeterminate="True" ></ProgressBar> 
+1

आपके पास पहले स्थान पर 'IsIndeterminate = "True" क्यों है? –

उत्तर

21

आप सही पर IsIndeterminate सेट करते हैं, प्रगति अर्थ है कि कुछ प्रगति पर है है, लेकिन आप सटीक अवधि निर्धारित नहीं कर सकता। इसलिए, मैं केवल आपको झूठी सेट करने और अपने "मानक" व्यवहार में प्रगति पट्टी का उपयोग करने के लिए कह सकता हूं।

+0

जिस मुद्दे पर मैं लड़ रहा हूं वह यह है कि आप इसे एनीमेशन शुरू करने के लिए कैसे प्राप्त करते हैं। मेरे पास बार परिभाषित है और IsIndeterminate = "True" है। मैं अपनी बात करने के लिए बार कैसे ट्रिगर करूं? – user38349

+9

जिस चाल की मैं तलाश कर रहा था वह मुझे न्यूनतम मूल्य और अधिकतम मूल्य और ऊंचाई निर्धारित करना था।एक बार जब मैं इसे प्रदर्शित करता हूं तो इसे प्रदर्शित किया जाता है। – user38349

15

बस अगर आप प्रगति पट्टी शुरू करने की कोशिश कर रहे हैं, लेकिन एक अनिश्चित बार के रूप में, तो आपको तैयार होने पर और समाप्त होने पर झूठी होने पर संपत्ति को IIndeterminate को सत्य पर सेट करना होगा।

तो दूसरे शब्दों में:

pbar.IsIndeterminate = true; //This starts your bar's animation 
pbar.IsIndeterminate = false; //This stops your bar's animation 

तुम क्यों आप इसे निम्नलिखित छद्म कोड में इस तरह देखो क्या करना चाहते हैं के रूप में संदर्भ देने के लिए:

//Some method that is going to start something that is going to take a while 
public void StartLongRunningProcess() 
{ 
    //Make a call to a web service asynchronously etc... 

    //Start the animation for your progress bar 
    pbar.IsIndeterminate = true; 
} 

//The method (delegate) that handles the result, usually from an event. 
//This method will handle the result of the asynchronous call 
public void HandlerForLongRunningProcess() 
{ 
    //Do stuff with result from your asynchronous web service call etc... 

    //Stop the animation for your progress bar 
    pbar.IsIndeterminate = false; 
} 

मुझे पहले होने दो यह कहने के लिए कि मुझे यकीन नहीं है कि यह इस संपत्ति का इच्छित उपयोग है, लेकिन मैं कह सकता हूं कि यह निश्चित रूप से काम करता है।

+0

मैं उलझन में हूं कि एमवीवीएम का उपयोग करके मेरी प्रगति पट्टी में एसिंक्रोनस कॉल कैसे जोड़ें: http://stackoverflow.com/questions/25021838/indeterminate-progress-bar –

1

स्पष्ट रूप से कुछ वातावरण में ऊंचाई को अनिश्चित एनीमेशन चलाने के लिए स्पष्ट रूप से सेट किया जाना चाहिए, जबकि दूसरों पर इसकी आवश्यकता नहीं है।

0

इसे प्रारंभ करने के दौरान प्रारंभिकरण (यानी एक्सएएमएल में यूआई डिजाइनर, या कोड पक्ष पर कन्स्ट्रक्टर) के दौरान IsIndeterminate पर सेट न करें। यदि आप करते हैं तो एनीमेशन शुरू नहीं होगा। इसे 'लोडेड' ईवेंट हैंडलर में सेट करें।

मैं XAML पक्ष पर IsIndeterminate = 'False' होता है, और फिर Window_Loaded घटना, सेट में:

myProgressBar.IsIndeterminate = true; 
0

समस्या का एक संभावित समाधान है बस दिखाने के लिए या ProgressBar नियंत्रण छिपाने:

progressBar.Visibility = Visibility.Visible; 

progressBar.Visibility = Visibility.Collapsed; 
0

यह ऊपर @dyslexicanaboko की तुलना में कोई वास्तविक अंतर नहीं है, लेकिन यह एक प्रदर्शन के लिए तेज़ और आसान है जिसे आप नियंत्रित कर सकते हैं:

XAML में:

<Button Content="Start Process" HorizontalAlignment="Center" Click="StartAProcess"/> 
<Button Content="Stop Process" HorizontalAlignment="Center" Click="StopAProcess"/> 
<ProgressBar Name="pBar1" Height="20"/> 

पीछे कोड में:

Public Sub StartAProcess() 
    pBar1.IsIndeterminate = True 
End Sub 

Public Sub StopAProcess() 
    pBar1.IsIndeterminate = False 
End Sub 

प्रारंभ प्रक्रिया बटन एनीमेशन शुरू करने और जब तक रोक प्रक्रिया बटन क्लिक किए जाने के लिए जारी रहेगा क्लिक करने पर। यह स्पष्ट होना चाहिए, लेकिन IsIndeterminate विकल्प अच्छा यूआई अभ्यास नहीं है; वास्तव में मूल्य को अपडेट करने के लिए बेहतर है, लेकिन उन लोगों के लिए जो इसे क्रिया में देखना चाहते हैं ...

0

यह भी सुनिश्चित करें कि कैशमोड = "बिटमैप कैश" आपके पृष्ठ पर सेट नहीं है - अन्यथा एनीमेशन नहीं चलेगा। यह सिर्फ कैश किए गए बिटमैप को प्रदर्शित करता है ...

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