我在XAML中有一个窗口“Operation”,它使用在同一个项目中定义的用户控件“Status”。当我构建解决方案时,它返回ok,但是当我打开Window的设计视图时,visual studio说“无法创建类型为'Status'的实例.Windows”操作“的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?
答案 0 :(得分:2)
我的项目中一个控件一直遇到此问题,并通过将所有图片更改为DynamicResource
而不是StaticResource
来解决问题。
真正奇怪的是,设计师对控制本身的工作正常,并按预期显示图像。只有当我在主窗口中使用控件时,设计师才给我“无法创建实例”的消息。
答案 1 :(得分:1)
我不知道究竟是什么解决方案,但这种情况偶尔发生在我身上。我最终删除了命名空间的声明,重建并再次尝试。 :\
答案 2 :(得分:1)
尝试清理整个项目,然后进行完全重建。在我看来,VS中的WPF设计师做得不好,而且到处都有像这样的奇怪问题。
我建议不要依赖Design View做任何事情 - 此时它太不稳定了。试试Expression Blend,这样的事情会更好一些。如果你不想走那条路,你可能最好建立和运行你的应用程序: - (
如果你正在运行VS 2008,你安装了SP1吗?
答案 3 :(得分:1)
类似于Jon Norton所说的,我还发现这个链接( -link已删除,见下文 - )暗示了资源。我有链接中描述的情况,Jon的修复程序对其进行了排序。
修改强>
抱歉,该链接现在需要登录,页面不再存在。三年后我找不到它应该是什么。
答案 4 :(得分:0)
当我没有构建控件时,我通常会看到这一点。确保构建控件并查看是否仍然看到问题。偶尔,VS只会感到困惑,你需要关闭并打开你遇到问题的控件。在这种情况下,那将是你的窗口。