2

XAML デザイナーに問題があります。

カスタム 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">

コード ビハインドでは、次のようなカスタム イベントを作成しました。

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

私の XAML ファイルには、いくつかのアニメーションを接続するための EventTrigger があります。

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

ただし、これによりエラーが発生します。イベント 'NotStartedEvent' がタイプ 'UserControl' に見つかりませんでした。

私はウェブを検索しましたが、私が間違っていることを見つけることができませんでした.それは愚かな詳細に違いありません. たとえば、EventTrigger が UserControl.Triggers の下にあるためですか?

プロジェクトのクリーニングと再構築を数回試みましたが、これは正常に機能します。XAML デザイナーだけがこのエラーを出しています。

4

1 に答える 1

5

これを試して:

<UserControl.Triggers>
    <EventTrigger RoutedEvent="{x:Static local:ProgressControl.NotStartedEvent}">
        <StopStoryboard BeginStoryboardName="rotateAnimation"/>
        <BeginStoryboard Storyboard="{StaticResource notStartedStateAnimation}"/>
    </EventTrigger>
</UserControl.Triggers>
于 2012-05-07T13:24:12.510 に答える