2012-05-07 12 views
2

XAMLデザイナーに問題があります。UserControlのカスタムRoutedEventが見つかりません

カスタムProgressBarを表すUserControlがあります。状態に基づいていくつかの色が付いた回転円です。 これはUserControlを拡張し、ローカル名前空間をXAMLファイルに追加し、それを "local"という名前にしました。私はいくつかのアニメーションをフックするEventTriggerを持っている私の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); } 
} 

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

このしかし、私はそうのようなカスタムイベントを作成したコードビハインドで

<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"> 

私にエラーが表示されます: '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

関連する問題