4

我在 XAML 中有一个窗口“操作”,它使用在同一项目中定义的用户控件“状态”。当我构建解决方案时,它返回正常,但是当我打开窗口的设计视图时,Visual Studio 说“无法创建'状态'类型的实例。窗口“操作”的 XAML 如下:

<Window x:Class="TCI.Indexer.UI.Operacao"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:tci="clr-namespace:TCI.Indexer.UI.Controles"
        Title=" "
        MinHeight="550"
        MinWidth="675"
        Loaded="Load"
        ResizeMode="NoResize"
        WindowStyle="None"
        WindowStartupLocation="CenterScreen"
        WindowState="Maximized"
        Focusable="True">
  <Canvas Name="canv">      
    <tci:Status x:Name="ucStatus"/>
    <Grid Canvas.Top="0" Canvas.Left="0">        
      <StackPanel Orientation="Horizontal">
        <!-- Indices -->
        <Label Width="200"/>        
      </StackPanel>
    </Grid>
  </Canvas>
</Window>

xmlns:tci是 Status Usercontrol 所在的命名空间。并tci:Status在发生此错误时变为蓝色下划线。如何使用这样的 UserControl?

4

5 回答 5

2

我一直在我的项目中使用一个控件来解决这个问题,并通过将我的所有图像更改为DynamicResource而不是StaticResource.

真正奇怪的是,设计师为控件本身工作得很好,并按预期显示了图像。只有当我在主窗口中使用控件时,设计师才给我“无法创建实例”消息。

于 2009-09-30T10:15:12.630 回答
1

与 Jon Norton 所说的类似,我还发现了这个链接(-link 已删除,见下文-),它涉及资源。我有链接中描述的情况,乔恩的修复对其进行了排序。

编辑

抱歉,该链接现在需要登录,并且该页面不再存在。三年后我找不到它应该是什么。

于 2009-10-15T11:35:54.067 回答
1

我不知道确切的解决方案是什么,但这也时常发生在我身上。我最终删除了命名空间的声明,重新构建并重试。:\

于 2009-01-20T14:19:12.643 回答
1

尝试清理整个项目,然后进行完全重建。在我看来,VS 中的 WPF 设计器做得很差,而且到处都有这样的奇怪问题。

在这一点上,我建议不要依赖设计视图——它太不稳定了。试试Expression Blend,这样的东西会好一点。如果你不想走那条路,你最好构建和运行你的应用程序:-(

如果您运行的是 VS 2008,您是否安装了 SP1?

于 2009-01-20T14:22:55.930 回答
1

当我没有构建控件时,我通常会看到这一点。确保构建控件并查看是否仍然存在问题。有时,VS 会感到困惑,您需要关闭并打开您遇到问题的控件。在这种情况下,那将是您的窗口。

于 2009-01-26T20:36:43.433 回答