I've created an abstract class which inherits from UserControl, and has an abstract method. I have a couple controls implementing this abstract class. The Silverlight control runs fine, but in the XAML editor, I get an InstanceBuilderException thrown, and thus it won't let me view the XAML preview. Is there a way to get around this, or am I just doing something wrong? Thanks!
The abstract class is very simple:
public abstract class Widget : UserControl
{
public abstract void Close();
}
The implementation is here:
public partial class OnlineUserWidget : Widget
{
.....
}
And the XAML
<local:Widget x:Class="Prototype.Widgets.OnlineUserWidget"
xmlns:local="clr-namespace:Prototype.Widgets"
....
</local:Widget>
Finally the error:
Cannot create an instance of "Widget". at Microsoft.Expression.DesignModel.Core.InstanceBuilderOperations.InstantiateType(Type type, Boolean supportInternal, Boolean supportProtected) at Microsoft.Expression.DesignModel.InstanceBuilders.ClrObjectInstanceBuilder.InstantiateTargetType(IInstanceBuilderContext context, ViewNode viewNode) at Microsoft.Expression.DesignModel.InstanceBuilders.ClrObjectInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode) at Microsoft.Expression.Platform.Silverlight.InstanceBuilders.DependencyObjectInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode) at Microsoft.Expression.Platform.Silverlight.InstanceBuilders.FrameworkElementInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode) at Microsoft.Expression.Platform.Silverlight.InstanceBuilders.UserControlInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode) at MS.Internal.Services.DesignModeValueProviderService.DesignModeValueProviderBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode) at Microsoft.Expression.DesignModel.Core.ViewNodeManager.Instantiate(ViewNode viewNode)