2012-05-07 1 views
2

XAML 디자이너에 문제가 있습니다.UserControl의 사용자 지정 RoutedEvent가 없습니다.

사용자 정의 ProgressBar를 나타내는 UserControl이 있습니다. 상태에 따라 일부 색상이있는 순환 원입니다. UserControl을 확장하고 로컬 네임 스페이스를 XAML 파일에 추가하고 "로컬"이름을 지정했습니다. 에서

<UserControl x:Class="MyControls.ProgressControl" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:MyControls"> 

코드는 숨김 그래서 같은 사용자 정의 이벤트를 만들었습니다 그러나

<UserControl.Triggers> 
    <EventTrigger RoutedEvent="local:ProgressControl.NotStartedEvent"> 
     <StopStoryboard BeginStoryboardName="rotateAnimation"/> 
     <BeginStoryboard Storyboard="{StaticResource notStartedStateAnimation}"/> 
    </EventTrigger> 
</UserControl.Triggers> 

이 :

내 XAML 파일에서
public static readonly RoutedEvent NotStartedEvent = EventManager.RegisterRoutedEvent("NotStartedEvent",RoutingStrategy.Bubble,typeof(RoutedEventHandler),typeof(ProgressControl)); 

// .NET wrapper 
public event RoutedEventHandler NotStarted 
{ 
    add { AddHandler(NotStartedEvent, value); } 
    remove { RemoveHandler(NotStartedEvent, value); } 
} 

좀 애니메이션를 연결하는 EventTrigger이 내게 오류가 발생합니다 : 'NotStartedEvent'이벤트가 'UserControl'유형에서 발견되지 않았습니다.

웹을 검색했지만 잘못하고있는 것을 찾을 수 없었습니다. 어리석은 세부 사항이어야합니다. EventTrigger가 UserControl.Triggers 아래에 있기 때문에 인스턴스입니까?

나는 청소를 시도하고 프로젝트를 여러 번 다시 작성했는데 정상적으로 작동합니다. XAML 디자이너 만 나에게이 오류를 제공합니다.

답변

5

이 시도 : 속임수를 썼는지

<UserControl.Triggers> 
    <EventTrigger RoutedEvent="{x:Static local:ProgressControl.NotStartedEvent}"> 
     <StopStoryboard BeginStoryboardName="rotateAnimation"/> 
     <BeginStoryboard Storyboard="{StaticResource notStartedStateAnimation}"/> 
    </EventTrigger> 
</UserControl.Triggers> 
+0

감사합니다! {x : local ProgressControl.NotStartedEvent}도 시도했지만 작동하지 않았습니다. 이것이 올바른 구문 이었기 때문에 기뻤습니다. – Davio

+0

문제 없음 ...이 문제에도 많은 어려움이있었습니다 ^^ – webber2k6