我想创建一个通用数据网格以用于我所有的 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/