我在使用 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>
然而,这给了我一个错误:在“UserControl”类型中找不到事件“NotStartedEvent”。
我在网上搜索过,但找不到我做错了什么,这一定是一些愚蠢的细节。例如是因为 EventTrigger 在 UserControl.Triggers 下吗?
我已经尝试过多次清理和重建项目,并且效果很好。只有 XAML 设计器给了我这个错误。