Итак, у меня есть следующий элемент управления в SL4 ...
XAML:
<Canvas x:Class="LineAnnotation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Canvas.Left="0" Canvas.Top="0" Loaded="Canvas_Loaded" >
</Canvas>
CodeBehind:
public partial class LineAnnotation : Canvas
{
public LineAnnotation()
{
InitializeComponent();
}
void Canvas_Loaded(object sender, RoutedEventArgs e)
{
this.Height = ((Canvas)this.Parent).Height;
this.Width = ((Canvas)this.Parent).Width;
}
}
Этот класс работает нормально, я могусоздать экземпляр и использовать его.Тем не менее, у меня есть другой элемент управления, который подклассов этого:
public class ArrowAnnotation : LineAnnotation
{
public ArrowAnnotation() : base()
{
// Some other init stuff
}
}
Когда я пытаюсь создать один из них в моем коде, я получаю следующее исключение:
System.Windows.Markup.XamlParseException: Failed to assign to property 'System.Windows.FrameworkElement.Loaded'. [Line: 5 Position: 47]
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at LineAnnotation.InitializeComponent()
at LineAnnotation..ctor()
Это не простоЗагруженное событие, это может быть любой обработчик события, я получаю то же исключение.Этот код используется совместно с проектом WPF, и это прекрасно работает.Любая идея, в чем проблема здесь?
РЕДАКТИРОВАТЬ: я понял, что ArrowAnnotation не должен быть частичным классом, так как нет xaml.изменение этого не имело никакого значения.