Custom RoutedEvent as EventTrigger
Asked Answered
B

3

8

I have my own shape class

public sealed class MirrorTile : Shape

and in this class I added the event

public static readonly RoutedEvent SelectedEnterEvent = EventManager.RegisterRoutedEvent("SelectedEnter", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MirrorTile));

public event RoutedEventHandler SelectedEnter
{
    add
    {
        this.AddHandler(SelectedEnterEvent, value);
    }

    remove
    {
        this.RemoveHandler(SelectedEnterEvent, value);
    }
}

and want to use it in this way

<shapes:MirrorTile>
    <shapes:MirrorTile.Triggers>
        <EventTrigger RoutedEvent="SelectedEnter">
            <BeginStoryboard Storyboard="{StaticResource SelectShape}"/>
        </EventTrigger>
    </shapes:MirrorTile.Triggers>
</shapes:MirrorTile>

After starup I get the exception: {"RoutedEventConverter cannot convert from System.String."}

What I'm doing wrong and how can I fix this problem?

Bunko answered 25/2, 2013 at 13:48 Comment(0)
B
10

<EventTrigger RoutedEvent="shapes:MirrorTile.SelectedLeave">

the namespace was missing also.

Bunko answered 25/2, 2013 at 14:5 Comment(2)
@McGarnagle: Are you sure about the second colon? My VS stops telling me there is an error when I replace it with a point.Baboon
namespace:ClassName.EventNameProsperity
P
7

You have to provide the type as well:

<EventTrigger RoutedEvent="MirrorTile.SelectedEnter"></EventTrigger>

Edit upon comment:

Have you tried adding a namespace to your XAML declaration?

 xmlns:local="clr-namespace:YourNameSpace"

Then fix this to:

 <EventTrigger RoutedEvent="local:MirrorTile.SelectedEnter"></EventTrigger>
Pyramidal answered 25/2, 2013 at 13:52 Comment(1)
I tried this but I get an exception also {"Type reference cannot find type named '{http://schemas.microsoft.com/winfx/2006/xaml/presentation}MirrorTile'."}Bunko
S
2

I think you are missing the type that defines your event:

<EventTrigger RoutedEvent="MirrorTile.SelectedEnter">
Salena answered 25/2, 2013 at 13:52 Comment(1)
I tried this but I get an exception also {"Type reference cannot find type named '{http://schemas.microsoft.com/winfx/2006/xaml/presentation}MirrorTile'."}Bunko

© 2022 - 2024 — McMap. All rights reserved.