Задайте вопросЗадайте вопрос
 

ВопросCatch Events from Within Templates

  • 13 августа 2007 г. 16:20Sven Hecht Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    Here the pretty much simplyfied code:

    Code Snippet

    <Page x:Name="myPageObj">
    <Page.Resources>
    <DataTemplate DataType="{x:Type local:ImageMenuData}">
    <Border>
    <Border.Triggers>
    <EventTrigger SourceName="myPageObj" RoutedEvent="MyPage.NextDocEvent">
    <BeginStoryboard Storyboard="{StaticResource 3dFlipAnimation}"/>
    </EventTrigger>
    <Border.Triggers>
    </Border>
    </DataTemplate>
    </Page.Resources>

    ...

    </Page>



    Now I want to throw the NextDocEvent from within c# code.
    The definition of the Event:

    Code Snippet

    public static readonly RoutedEvent NextDocEvent = EventManager.RegisterRoutedEvent( "NextDoc", RoutingStrategy.Tunnel, typeof( RoutedEventHandler ), typeof( MyPage ) );

    public event RoutedEventHandler NextDoc
    {

    add { AddHandler( NextDocEvent, value ); }
    remove { RemoveHandler( NextDocEvent, value ); }

    }

    void RaiseNextDocEvent()
    {

    RoutedEventArgs newEventArgs = new RoutedEventArgs( MyPage.NextDocEvent );
    RaiseEvent(newEventArgs);

    }



    this approach seems not to work because I get this Error:

    Code Snippet

    'MyPage.NextDocEvent' value cannot be assigned to property 'RoutedEvent' of object 'System.Windows.EventTrigger'. Value cannot be null.
    Parameter name: value  Error at object 'System.Windows.EventTrigger' in markup file



Все ответы