【问题标题】:Class doesn't exist in namespace error in XAMLXAML 中的命名空间错误中不存在类
【发布时间】:2012-12-10 02:15:23
【问题描述】:

我有一个类,它为对象选择 ItemDataTemplate。但我无法在我的 XAML 代码中引用它。 (页面.资源)。

这是 XAML 中的项目页面。该类在 commons 文件夹中,我在这里引用了 commons 文件夹:

xmlns:common="using:Sample_App.Common"

然后当我不想将它添加到我的 XAML 中时:

<common:MyDataTemplateSelector x:Key="Selector" AdTemplate="{StaticResource Ad}" NormalTemplate="{StaticResource Normal}"></common:MyDataTemplateSelector>

我收到以下错误:

命名空间“using:MyDataSelector”中不存在名称“MyDataTemplateSelector”

这是 MyDataSelector 类:

namespace MyDataSelector
{
    private class MyDataTemplateSelector : DataTemplateSelector
    {
        public DataTemplate NormalTemplate { get; set; }

        public DataTemplate AdTemplate{ get; set; }

        protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
        {
            if (item is TestApp.Mainpage.NormalData)
                return NormalTemplate
            if (item is TestApp.Mainpage.AdData)
                return AdTemplate;

            return SelectTemplateCore(item, container);
        }
    }
}

【问题讨论】:

    标签: c# wpf xaml reference namespaces


    【解决方案1】:

    您的代码有几个问题。首先,您提到您的课程位于“公共文件夹”中 - 这完全无关紧要。代码文件的位置通常对编译器无关紧要,但您在中声明类的命名空间却很重要

    namespace MyDataSelector // <- This is where your class can be found
    {
        private class MyDataTemplateSelector : DataTemplateSelector
        {
    

    因此,由于您的类位于命名空间 MyDataSelector 中,因此您的 xaml 文件中的引用应如下所示:

    <Page x:Class="WpfApplication1.Page1"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:myDataSelector="using:MyDataSelector">
    

    你会像这样引用你的类:

    <myDataSelector:MyDataTemplateSelector />
    

    另一个问题是你的类被声明为私有的。这没有意义,可能不会编译。删除 private 以使您的课程成为内部课程,或将其更改为 public

    【讨论】:

      猜你喜欢
      • 2014-08-23
      • 2013-01-17
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 2013-05-24
      • 1970-01-01
      相关资源
      最近更新 更多