2
我在使用XAML設計器時遇到了一些問題。未找到UserControl中的自定義RoutedEvent
我有一個用戶控件,它代表一個自定義的ProgressBar:只是一個基於狀態的具有某種顏色的旋轉圓。 它擴展了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設計者給我這個錯誤。
謝謝,沒有的伎倆!我曾嘗試過{x:local ProgressControl.NotStartedEvent},但那不起作用,很高興這是正確的語法。 – Davio
沒問題...我也有這麼多問題^^ – webber2k6