WPF: IsEnabledChanged-Event

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von venus100000.

    WPF: IsEnabledChanged-Event

    Also eigentlich will nur ich nur das hier hinbekommen, aber es klappt nicht, da man scheinbar IsEnabledChanged mit RoutedEvent ansprechen kann. :(

    XML-Quellcode

    1. <Grid.Triggers>
    2. <EventTrigger
    3. RoutedEvent="Grid.IsEnabledChanged"
    4. SourceName="GMain">
    5. <BeginStoryboard>
    6. <Storyboard>
    7. <DoubleAnimation
    8. Storyboard.TargetName="GMain"
    9. Storyboard.TargetProperty="(Grid.Opacity)"
    10. From="0.0"
    11. To="1.0"
    12. Duration="0:0:1"
    13. AutoReverse="False"
    14. RepeatBehavior="1x" />
    15. </Storyboard>
    16. </BeginStoryboard>
    17. </EventTrigger>
    18. </Grid.Triggers>


    MSDN:



    Weiß jemand, wie das geht? :)

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „venus100000“ () aus folgendem Grund: Bild und Link hinzugefügt

    IsEnabledChangedEvent IST das IsEnabledChanged-Event, das du oben ansprechen möchtest.
    Da es aber nur ein "normales" Event ist, kannst du es nicht dort benutzen, wo ein RoutedEvent gefordert wird.
    Du kannst es nur so benutzen:
    <Grid IsEnabledChanged="EineVBSubAlsEventHandler">...</Grid>
    Und dann im VB-Code darauf reagieren. Da kannst dein Storyboard auch im VB-Code einrichten und starten.

    lg SeriTools
    | Keine Fragen per PN oder Skype.
    Okay, vielen Dank. Klappt jetzt :)

    Mit Hilfe von SeriTools und MSDN ist das hier rausgekommen:

    XML-Quellcode

    1. <Grid.Triggers>
    2. <EventTrigger
    3. RoutedEvent="Grid.IsEnabledChanged"
    4. SourceName="GMain">
    5. <BeginStoryboard>
    6. <Storyboard>
    7. <ObjectAnimationUsingKeyFrames
    8. Storyboard.TargetName="GFrage"
    9. Storyboard.TargetProperty="Visibility">
    10. <DiscreteObjectKeyFrame
    11. Value="{x:Static Visibility.Collapsed}" KeyTime="0:0:0"/>
    12. </ObjectAnimationUsingKeyFrames>
    13. <ObjectAnimationUsingKeyFrames
    14. Storyboard.TargetName="GMain"
    15. Storyboard.TargetProperty="Visibility">
    16. <DiscreteObjectKeyFrame
    17. Value="{x:Static Visibility.Visible}" KeyTime="0:0:0"/>
    18. </ObjectAnimationUsingKeyFrames>
    19. <DoubleAnimation
    20. Storyboard.TargetName="GMain"
    21. Storyboard.TargetProperty="(Grid.Opacity)"
    22. From="0.0"
    23. To="1.0"
    24. BeginTime = "0:0:0.2"
    25. Duration="0:0:1" />
    26. </Storyboard>
    27. </BeginStoryboard>
    28. </EventTrigger>
    29. </Grid.Triggers>


    "="

    XML-Quellcode

    1. <Grid
    2. Name="GMain"
    3. IsEnabled="False"
    4. IsEnabledChanged="GGefragt_IsEnabledChanged">
    5. ....
    6. </Grid>

    VB.NET-Quellcode

    1. ....
    2. GMain.IsEnabled = True
    3. ....
    4. Sub GMain_IsEnabledChanged(sender As Object, e As DependencyPropertyChangedEventArgs)
    5. If GGefragt.IsEnabled=True Then
    6. GFrage.Visibility=Visibility.Collapsed
    7. GMain.Visibility=Visibility.Visible
    8. Dim myOpacityAnimation As New Animation.DoubleAnimation()
    9. myOpacityAnimation.From = 0
    10. myOpacityAnimation.To = 1
    11. myOpacityAnimation.BeginTime = TimeSpan.FromSeconds(0.2)
    12. myOpacityAnimation.Duration = New Duration(TimeSpan.FromSeconds(1))
    13. Animation.Storyboard.SetTargetName(myOpacityAnimation, GMain.Name)
    14. Animation.Storyboard.SetTargetProperty(myOpacityAnimation, New PropertyPath(Grid.OpacityProperty))
    15. Dim myStoryboard As New Animation.Storyboard()
    16. myStoryboard.Children.Add(myOpacityAnimation)
    17. BeginStoryboard(myStoryboard)
    18. End If
    19. End Sub