我是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是特定于平台的库
请帮我解决这个问题。
答案 0 :(得分:4)
我通过复制Generic.xaml的内容来解决它,删除Generic.xaml,构建,再次在Themes文件夹下添加一个新的xaml文件(将其命名为Generic.xaml)并粘贴Generic的初始内容的.xaml。重新建立并运作。我的结论是我必须首先编译包含CustomTemplate1.cs的lib,并且在编译之后,lib将能够添加对CustomTemplate1.cs的引用。由于初始错误,lib没有编译,因此删除带有错误的文件,编译,再次添加xaml是我解决此问题的方法。对我来说看起来像是一个Visual Studio错误。