我希望有人可以帮助我解决一个奇怪的问题。开发 WPF .NET Framework 4.0 应用程序,接收消息:
在类型上找不到匹配的构造函数。尝试使用以下代码时,您可以使用 Arguments 或 FactoryMethod 指令来构造类型。
UserControl:
<Grid>
<GroupBox Header="Diagram">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<designer:DesignerCanvas Focusable="true" x:Name="MyDesigner"
Background="{StaticResource WindowBackgroundBrush}" Margin="10"
FocusVisualStyle="{x:Null}"
ContextMenu="{StaticResource DesignerCanvasContextMenu}" />
</ScrollViewer>
</GroupBox>
</Grid>
Class:
/// <summary>
/// The designer canvas.
/// </summary>
public partial class DesignerCanvas : Canvas
{
public DesignerCanvas()
{
....
}
}
据我所知,代码似乎没有任何问题。
谢谢,约翰
更新:
事实证明,这掩盖了潜在的异常。我在 DesignerCanvas 的构造函数中去掉了任何东西,它起作用了。然后,我在单独的方法中重新添加了设置命令绑定并收到:
System.MissingMethodException:找不到方法:无效 System.Windows.Input.CommandBinding..ctor(System.Windows.Input.ICommand,System.Windows.Input.ExecutedRoutedEventHandler)
构造函数包括尝试设置一些命令绑定。例如
public void SetupCommandDefaults()
{
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.New, this.New_Executed));
}
我正在卸载并重新安装 .NET Framework 4.0,希望这能解决问题。