पर ध्यान दिए बिना बदलती है, तो मैं डेटाग्रिड में सेल पर एक एनीमेशन निष्पादित करने की कोशिश कर रहा हूं, जब डेटाग्रिड सेल का मान बदलता है।wpf - आग डेटाैट्रिगर जब संपत्ति नए मान
डेटाग्रिड स्वयं सादे पुराने सीएलआर वस्तुओं के एक पर्यवेक्षण चयन के लिए बाध्य है। इस मामले में कहें कि ऑब्जेक्ट 'पर्सनल' ऑब्जेक्ट्स 'फर्स्टनाम', 'लास्टनाम' और 'एज' के गुणों के साथ हैं। 'पर्सन' क्लास INotifyPropertyChanged इंटरफ़ेस लागू करता है और प्रत्येक प्रॉपर्टी पर इसके सेटटर में बदलकर प्रॉपर्टी पर उचित कॉल होता है।
यह सब ठीक है। datagrid परिभाषा में मैं इस प्रकार प्रत्येक कोशिका ड्राइंग के लिए मेरे DataTemplate निर्धारित किया है और एक datatrigger भी संलग्न ...:
<DataGridTemplateColumn Header="FirstName">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Name="templateBorder">
<TextBlock Name="templateTextBlock" Text="{Binding Path=FirstName}" />
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=FirstName}" Value="Richard">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard AutoReverse="True">
<DoubleAnimation Storyboard.TargetName="templateTextBlock" Storyboard.TargetProperty="Opacity" To=".1" Duration="0:0:.5" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
जब मेरे ObservableCollection में एक वस्तु अद्यतन किया जाता है (मैं FirstName मूल्य बदल) datagrid है ठीक अद्यतन किया गया। उपर्युक्त उदाहरण के अनुसार, अगर मैंने फर्स्टनाम का मान 'रिचर्ड' में बदल दिया है तो एनीमेशन को भी ठीक से निष्पादित किया जाता है।
मेरी समस्या यह है कि मुझे अपना एनीमेशन चलाने की आवश्यकता है चाहे पहले नाम का नया मूल्य क्या है। मैंने वेब को क्रॉल किया है लेकिन कुछ दूर तक केवल ज्ञात मान के विरुद्ध ट्रिगर को फायर करने के उदाहरण मिलते हैं। फायर ट्रिगर जब फर्स्टनाम 'रिचर्ड' है जैसा कि मैंने अपने उदाहरण में प्रदर्शित किया है।
मेरा सवाल यह है कि मैं अद्यतन संपत्ति के मूल्य के बावजूद डेटाैट्रिगर को कैसे फायर करूं? तो मूल रूप से जब डेटाटाइड में दी गई पंक्ति के लिए फर्स्टनाम संपत्ति को अद्यतन किया जाता है तो मैं डेटाैट्रिगर को कैसे आग लगा सकता हूं।
बहुत धन्यवाद।
आप दृश्य राज्य प्रबंधक का उपयोग करने का प्रयास क्यों नहीं करते ... इस पोस्ट को देखें। http://stackoverflow.com/questions/15258199/blend-trigger-vs-wpf-trigger – stromms