名称<>名称空间中不存在<> (用于图书馆项目)

时间:2013-09-25 09:52:34

标签: c# wpf xaml wpf-controls

我是C#/ Windows商店应用程序开发的新手,我遇到了一个问题: 我正在

The name "CustomTemplate1" does not exist in the namespace "using:QSTLibrary.WIN8"

我处理的项目有2个库(一个可移植(没有任何GUI)和一个特定平台(Win商店应用))和一个基于这两个库的启动项目。

在特定于平台的库上,我想添加templated control,但在使用add -> new item -> templated control添加时,自动生成的“Themes”文件夹中的Generic.xaml会出现上述错误。< / p>

这是Generic.xaml:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:QSTLibrary.WIN8">

    <Style TargetType="local:CustomTemplate1"> //HERE IS THE PROBLEM !!!!
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:CustomTemplate1">
                    <Border
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

这是CustomTemplate1:​​

using System;
using System.Collections.Generic;
using System.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Documents;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;

// The Templated Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234235

namespace QSTLibrary.WIN8
{
    public sealed class CustomTemplate1 : Control
    {
        public CustomTemplate1()
        {
            this.DefaultStyleKey = typeof(CustomTemplate1);
        }
    }
}

QSTLibrary.WIN8是特定于平台的库

enter image description here

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:4)

我通过复制Generic.xaml的内容来解决它,删除Generic.xaml,构建,再次在Themes文件夹下添加一个新的xaml文件(将其命名为Generic.xaml)并粘贴Generic的初始内容的.xaml。重新建立并运作。我的结论是我必须首先编译包含CustomTemplate1.cs的lib,并且在编译之后,lib将能够添加对CustomTemplate1.cs的引用。由于初始错误,lib没有编译,因此删除带有错误的文件,编译,再次添加xaml是我解决此问题的方法。对我来说看起来像是一个Visual Studio错误。