2010-02-18 18 views
7

खैर मैं एक कस्टम नियंत्रण है और जब VisibilityVisible परिवर्तित करने के लिए मैं एक में प्रवेश/बाहर निकलें कार्रवाई के साथ एक Trigger है, लेकिन समस्या यह है कि जब बाहर निकलें कार्रवाई आग Visibility नहीं रह गया है Visible तो एनीमेशन नहीं देखा जा सकता है कि कैसे है क्या मैं इसे ठीक कर दूंगा?WPF ट्रिगर एनीमेशन जब दृश्यता बदल जाती है?

यहाँ मेरी Trigger है:

<ControlTemplate.Triggers> 
    <Trigger Property="Visibility" Value="Visible"> 
     <Trigger.ExitActions> 
      <BeginStoryboard Storyboard="{StaticResource Hide}"/> 
     </Trigger.ExitActions> 
     <Trigger.EnterActions> 
      <BeginStoryboard Storyboard="{StaticResource Show}"/> 
     </Trigger.EnterActions> 
    </Trigger> 
</ControlTemplate.Triggers> 
+0

यह सही है। मुश्किल सामान मैं इस समस्या को संलग्न गुणों + मूल्य मजबूती से हल करूंगा। यहां एक नज़र डालें: [डब्ल्यूपीएफ फीड एनीमेशन] (http://stackoverflow.com/questions/1013817/wpf-fade-animation/1015635#1015635)। उम्मीद है की यह मदद करेगा। चीयर्स, अंवाका। – Anvaka

+0

क्या इसमें इसमें एक फीका एनीमेशन है? क्या मैं इसे संपादित कर सकता हूं ताकि मेरी एनीमेशन पूरी होने तक केवल छिपाने/पतन में देरी हो? – Peter

+0

मैं पेटोज के समान चीज़ सोच रहा हूं। – jpierson

उत्तर

3

मैं यह भी कोशिश की और विफल रहे। मुझे लगता है कि इसे Visibility संपत्ति पर Trigger के साथ एक सरल ControlTemplate में पूरा करना संभव नहीं है। आप क्या कर सकते हैं Opacity एनीमेशन एक अलग संपत्ति के लिए 1 से 0 से Trigger तक, उदाहरण के लिए DependencyProperty जो आप अपने पीछे कोड में जोड़ते हैं।

0

एनीमेशन अवधि के लिए Visibility सेट करने के लिए आप ObjectAnimationUsingKeyFrames का भी उपयोग कर सकते हैं। ऐसे मामले में किसी भी कोडबेंड में कोई आवश्यकता नहीं है।

+0

100% निश्चित नहीं है, लेकिन अगर छुट्टियों के मूल्य को बदल दिया गया है तो HideStoryboard ShowStoryboard को ट्रिगर करेगा? – Peter

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