【问题标题】:Unable to find type selector in correct namespace无法在正确的命名空间中找到类型选择器
【发布时间】:2015-02-09 17:16:12
【问题描述】:

我的 Windows Phone 8.1 应用程序中有一个 XAML 页面,我正在尝试在 ListView 上使用 TypeSelector。我已经创建了这样的类型选择器

namespace MiLocal.Views.Selectors
{
    public class FilterListingTypeSelector : DataTemplateSelector
    {
        public DataTemplate TypeATemplate { get; set; }
        public DataTemplate TypeBTemplate { get; set; }

        protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
        {
            var element = item as Filter;
            return TypeATemplate;
        }
    }
}

然后我在我的 XML 文件中引用它,如下所示

    <Page.Resources>
    <DataTemplate x:Key="TypeATemplate">

    </DataTemplate>
    <DataTemplate x:Key="TypeBTemplate">

    </DataTemplate>
    <selectors:FilterListingTypeSelector x:Key="TypeSelector" TypeATemplate="{StaticResource TypeATemplate}" TypeBTemplate="{StaticResource TypeBTemplate}"/>
</Page.Resources>

最后为了完整起见,下面是我在页面属性中的 using 语句。

xmlns:selectors="using:MiLocal.Views.Selectors"

我得到了错误

Error   1   The name "FilterListingTypeSelector" does not exist in the namespace "using:MiLocal.Views.Selectors".

【问题讨论】:

  • xmlns:selectors="clr-namespace:MiLocal.Views.Selectors"
  • 创建一个新错误,但仍然有与以前相同的错误,但只是引用了新的命名空间 错误 3 未定义的 CLR 命名空间。 “clr-namespace” URI 引用了无法找到的命名空间“MiLocal.Views.Selectors”。
  • 尝试在您的xmlns 中添加此内容:xmlns:selectors="using:MiLocal.Views.Selectors;assembly=MiLocal"

标签: c# xaml listview windows-phone-8 windows-phone-8.1


【解决方案1】:

您的代码和 Xaml 对于 Windows Phone 运行时应用是正确的。确保您构建了 FilterListingTypeSelector 对象。如果尚未构建,设计者将找不到该类。如果您在干净构建后仍然遇到问题,那么您可能需要重新启动 Visual Studio。

【讨论】:

  • 这成功了!谢谢您的帮助!!对 XAML 来说是全新的,让我大吃一惊。我在网上找到的一切都在说我正朝着正确的方向前进:)
猜你喜欢
  • 1970-01-01
  • 2016-06-20
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多