2013-02-25 3 views
5

У меня есть мой собственный класс формыПользовательского RoutedEvent в EventTrigger

public sealed class MirrorTile : Shape 

и в этом классе я добавил событие

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); 
    } 
} 

и хочу использовать его таким образом

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

После стартапа я получаю исключение: {"RoutedEventConverter cannot convert from System.String."}

Что я делаю неправильно и как я могу исправить эту проблему?

ответ

6

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

пространство имен не хватает также.

+0

@McGarnagle: Вы уверены в вторая толстая кишка? Мой VS перестает говорить мне, что есть ошибка, когда я заменяю ее точкой. – christoph

+1

'namespace: ClassName.EventName' – McGarnagle

5

Вы должны предоставить тип, а также:

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

Редактировать на комментарий:

Вы пытались добавить пространство имен в вашей декларации XAML?

xmlns:local="clr-namespace:YourNameSpace" 

Тогда исправить это:

<EventTrigger RoutedEvent="local:MirrorTile.SelectedEnter"></EventTrigger> 
+0

Я пробовал это, но получаю исключение также '{" Ссылка на тип не может найти тип с именем '{http://schemas.microsoft.com/winfx/2006/xaml/presentation}MirrorTile'. "}' – Christian

2

Я думаю, что вам не хватает тип, который определяет ваше событие:

<EventTrigger RoutedEvent="MirrorTile.SelectedEnter"> 
+0

Я пробовал это, но я получаю исключение также '{" Ссылка типа не может найти тип с именем '{http://schemas.microsoft.com/winfx/2006/xaml/presentation}MirrorTile'. "}' – Christian

Смежные вопросы