xaml - WPF Trigger / Style overrides another -


मेरे पास ListView एक ItemContainerStyle से परिभाषित है: < / P>

  & lt; सूचीदृश्य width = "auto" SelectionMode = "एकल" ItemContainerStyle = "{StaticResource ItemContStyle}" .... ....  

तब में BaseListViewStyle , मैंने शैली ट्रिगर सहित ListView s पर लागू करने के लिए कुछ आधार शैलियों को परिभाषित किया है:

  & lt; शैली x: कुंजी = "बेसलिस्टव्वेजस्टाइल" लक्ष्य प्रकार = "सूचीदृश्यआईटम" & gt; & Lt; सेटर संपदा = "ऊंचाई" मान = "20" / & gt; & Lt; सेटर संपत्ती = "क्षैतिज सामग्री संरेखण" मान = "स्टैच" / & gt; & LT; Style.Triggers & gt; & Lt; ट्रिगर प्रॉपर्टी = "इस्माउथ ओवर" मान = "सत्य" & gt; & Lt; सेटर संपदा = "अग्रभूमि" मान = "लाल" / & gt; & Lt; / उत्प्रेरक & gt; & LT; /Style.Triggers> & Lt; / शैली & gt;  

यहां ट्रिगर उस पंक्ति को उजागर करता है जब माउस उसके ऊपर है नमस्कार।

मेरे पास DataTrigger भी ListViewItem पर है:

  & gt; Style.Triggers & gt; & Lt; डेटाट्रिगर बाध्यकारी = "{बाध्यकारी IsTestTrue}" मान = "सत्य" & gt; & LT; DataTrigger.EnterActions & gt; & Lt; आरंभस्टोरीबोर्ड स्टोरीबोर्ड = "{स्टेटिक रिसोर्स कुछफंकी एनीमेशन}" / & gt; & LT; /DataTrigger.EnterActions> & Lt; / DataTrigger & gt;  

यदि परीक्षण सही है तो एक अच्छी छोटी फीका एनीमेशन खेला जाता है। यह सब काम करता है जब मैं अपने माउस को उस पंक्ति पर ले जाता हूं जहां "परीक्षण सही है" एनीमेशन बंद हो जाता है और शैली पर माउस प्रदर्शित होता है।

टीआईए

अपडेट:

कुछफंकी एनीमेशन पृष्ठभूमि का रंग एनिमेट करता है इसके लिए एक्सएएमएल यहां है:

  शैली x: कुंजी = "आइटमकांट शैली" लक्ष्य प्रकार = "{x: प्रकार सूची वीआईआईआईटीम}" आधारितऑन = "{स्टेटिक रिसोर्स बेसलिस्टव्यूस्टाइल}" & gt; & LT; Style.Resources & gt; & Lt; स्टोरीबोर्ड x: कुंजी = "कुछ एफक्यूनीएनिमेशन" फ़िलबेहाइजर = "स्टॉप" & gt; & Lt; ColorAnimation स्टोरीबोर्ड। TargetProperty = "Background.Color" दोहराएं Beehavior = "Forever" से "Red" To = "Pink" अवधि = "0: 0: 3" / & gt; & Lt; / स्टोरीबोर्ड & gt; & LT; /Style.Resources>   

माउसओवर ट्रिगर को baseListViewStyle में परिभाषित किया गया है। DataTrigger को ItemContStyle में परिभाषित किया गया है।

मैंने माउसओवर शैली ट्रिगर को निकालने की कोशिश की, लेकिन यह मेरे रूप में काम नहीं करता मान लें कि सूचीदृश्य में एक डिफ़ॉल्ट माउसओवर शैली पहले से ही परिभाषित है, इसलिए यह मेरे DataTrigger एनीमेशन को अध्यारोहित करता है।

< Div class = "post-text" itemprop = "text">

इस समस्या पर मेरे जीवन के कुछ घंटों को छोड़ने के बाद मुझे अंत में एक काम मिल गया कुछ कारणों से ColorAnimation सिर्फ एक माउस के बाद animating बंद हो जाता है। पता नहीं क्यों, शायद एक डब्ल्यूपीएफ बग जो जानता है समाधान मेरे एनीमेशन को बदलना था। नीचे एक ही बात है:

  & lt; स्टोरीबोर्ड x: कुंजी = "कुछफंकी एनीमेशन" फ़िल बीहीवियर = "स्टॉप" & gt; & Lt; डबल एनीमेशन स्टोरीबोर्ड। लक्ष्यप्रॉपर्टी = "पृष्ठभूमि। ऑपिसिटी" दोहराएंबैविकर = "हमेशा" ऑटोआरवर्स = "सच" = "0.2" से = "1.0" अवधि = "0: 0: 1" / & gt; & Lt; / स्टोरीबोर्ड & gt;  

और तब पृष्ठभूमि के लिए एक अतिरिक्त सेटर के साथ समान डेटाट्रिगर:

  & lt; डेटाट्रिगर बाइंडिंग = "{बाध्यकारी IsTestTrue}" मान = "सत्य" & gt; ; & LT; DataTrigger.EnterActions & gt; & Lt; आरंभस्टोरीबोर्ड स्टोरीबोर्ड = "{स्टेटिक रिसोर्स कुछफंकी एनीमेशन}" / & gt; & LT; /DataTrigger.EnterActions> & Lt; सेटर संपदा = "पृष्ठभूमि" मान = "लाल" / & gt; & Lt; / DataTrigger & gt;  

आखिर में शांति।


Comments