c# - 该组件没有由 uri 标识的资源

标签 c# .net wpf generics mvvm

我想创建一个通用数据网格以用于我所有的 View /用户控件。

这是我的结构:

类库称为“核心”:

称为“ViewBase”:

public class ViewBase : UserControl
{
    public ViewBase()
    {
    }   

    //Rest of Methods and Properties
}

类库调用“控件”:

UserControl 调用了 “GridView”:

XAML:

    <vb:ViewBase x:Class="Controls.GridView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:vb="clr-namespace:Core;assembly=Core">

    <Grid>
        <DataGrid></DataGrid>
    </Grid>

    </vb:ViewBase>

代码隐藏:

using Core;

public partial class GridView : ViewBase
{
    public GridView ()
    {
        InitializeComponent();
    }
}

然后是名为“WPFApp”的 WPF 应用程序:

调用了 “ View ”:

using Controls;

public class View : GridView
{
    public View()
    {
        InitializeComponent();
    }
}

我的整个想法是在需要 DataGrid 的地方使用 GridView

当我运行该应用程序时出现此错误:

"The component 'WpfApp.View' does not have a resource identified by the URI '/Controls;component/GridView.xaml'."

我做错了什么?

这是正确的方法还是我偏离了方向?

最佳答案

令人沮丧的是,我确实遇到了这个错误,并且一直在努力找出原因。对我来说,它曾经有效,但后来我对派生控件的 XAML 做了一些非常小的更改,编译器开始给出该错误消息。 简短的解决方案,减少了很多时间试图弄清楚:关闭 Visual Studio 并重新打开它,重新编译,问题神奇地消失了! (这是VS2012专业版) 只是添加了这个,以防任何阅读的人都在兜圈子,试图找到他们的代码中不存在的问题。可能值得首先尝试“IT 人群解决方案”。

关于c# - 该组件没有由 uri 标识的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7646331/

相关文章:

c# - 合并两个对象数据

c# - 空引用异常和??运算符(operator)

c# - 是否可以在 Azure 函数中保留环境设置?

.net - SonarQube 后处理失败,原因未知

.net - 任何现有的 IoC 容器都可以动态创建惰性代理类吗?

wpf - ICommand CanExecuteChanged 未更新

c# - WPF 控件初始化的顺序 - IsEnabled

c# - 一个简单的代码顺序

c# - 如何使用 Office Open XML SDK 2.0 获取列标题列表?

c# - WPF C# 如何使用 x :array 在 WPF 中的自定义模型类中绑定(bind)和设置列表