2010-06-03 9 views
13

को सूचित करता है मेरे पास एक स्क्रीन में लगभग 15-20 टेक्स्टब्लॉक होते हैं, प्रत्येक व्यक्ति एक अलग संपत्ति से जुड़ता है, सबसे पहले सभी टेक्स्टब्लॉक खाली होते हैं, टेक्स्ट अपडेट अन्य क्लाइंट से आते हैं।डब्ल्यूपीएफ टेक्स्टब्लॉक टेक्स्ट

मैं जो चीज करना चाहता हूं वह टेक्स्ट बदलने पर 3 सेकंड के लिए चमकती पाठ को एनिमेट करना है।

मुझे लगता है कि ऐसा करने के लिए नीचे दिए गए स्टोरीबोर्ड का प्रयोग किया:

<Setter Property="Visibility" Value="Visible"/> 

     <Style.Triggers> 
     <EventTrigger RoutedEvent="UIElement.MouseEnter"> 

      <BeginStoryboard > 
       <Storyboard Duration="0:0:03"> 
        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Visibility)"> 
         <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{x:Static Visibility.Visible}"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:00.5" Value="{x:Static Visibility.Hidden}"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:01" Value="{x:Static Visibility.Visible}"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:01.5" Value="{x:Static Visibility.Hidden}"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:02" Value="{x:Static Visibility.Visible}"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:02.5" Value="{x:Static Visibility.Hidden}"/> 
         <DiscreteObjectKeyFrame KeyTime="00:00:03" Value="{x:Static Visibility.Visible}"/> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Style.Triggers> 
</Style> 

माउस घटना पाठ फ़्लैश ठीक है में प्रवेश का उपयोग करते हुए, लेकिन Binding.TargetUpdated घटना का उपयोग कर कुछ भी ट्रिगर नहीं किया।

कोई भी घटना के बारे में जानता है जो TextBlock टेक्स्ट बदलता है?

उत्तर

24

आप सच

<TextBlock Text="{Binding Path=YourProperty, NotifyOnTargetUpdated=True}" TargetUpdated="OnTargetUpdated"/> 
+0

अच्छी तरह से मैं नहीं था और यह धन्यवाद था !! – Eran

6

पहले से ही थोड़ा पुराने करने के लिए NotifyOnTargetUpdated गुण सेट, लेकिन यहाँ शुद्ध XAML में समाधान किया:

<TextBlock VerticalAlignment="Center" 
      Text="{Binding ErrorMsg, NotifyOnTargetUpdated=True}"> 
    <TextBlock.Triggers> 
     <EventTrigger RoutedEvent="Binding.TargetUpdated"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation BeginTime="0:0:0" 
            Duration="0:0:1" 
            From="0.0" 
            Storyboard.TargetProperty="Opacity" 
            To="1.0" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </TextBlock.Triggers> 
</TextBlock> 
+1

धन्यवाद, एक अच्छा xaml केवल समाधान। मुझे इसकी ही खोज थी। –

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