2011-03-14 15 views
10

सेट लक्ष्य का नाम मेरे पास संसाधनोंस्टोरीबोर्ड - से कोड-पीछे

<Window.Resources> 
    <Storyboard x:Key="Fading" Storyboard.TargetName="NotifyWindow" Storyboard.TargetProperty="Opacity" > 
     <DoubleAnimation From="1" To="0" Duration="0:0:1"> 
     </DoubleAnimation> 
    </Storyboard> 
    </Window.Resources> 

और WindowClosing पर मैं अगले कोड

private void NotifyWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    Storyboard fading = this.Resources["Fading"] as Storyboard; 
    if (fading != null && !fadingCompleted) 
    { 
     fading.Completed += FadingStoryBoard_Completed; 
     fading.Begin(); 
     e.Cancel = true; 
    } 
} 

private void FadingStoryBoard_Completed(object sender, EventArgs e) 
{ 
    fadingCompleted = true; 
    Close(); 
    fadingCompleted = false; 
} 

है और यह ठीक काम करता है, लेकिन मैं ले जाना चाहते हैं में स्टोरीबोर्ड यह कहानी एक और असेंबली के लिए। तो मुझे StoryBoard.TargetName फॉर्म कोड निर्दिष्ट करने की आवश्यकता है। मैं उसे कैसे कर सकता हूँ? "Set" + PropertyName

सी देखें # उदाहरण here:

Storyboard.SetTargetName(yourAnimation, "NotifyWindow"); 

उत्तर

16

संलग्न गुण स्थिर सहायक तरीकों नामित के माध्यम से कोड से सेट किया जा सकता :

dependencyObjectInstance.SetValue(SampleClass.PropertyName + "Property", value); 

अपने उदाहरण में:

प्रयास के लिए
fading.SetValue(Storyboard.TargetNameProperty, "NotifyWindow"); 
7

निर्भरता गुण वस्तुओं निर्भरता स्थापित करने के लिए मानक तरीका जुड़ी संपत्तियों के लिए एक ही है

+0

+1 :) – Stecya