我正在尝试按照the article here向我的项目添加自定义控件,以便我可以调用它(" promptForPhotosetName"),如下所示:
Popup popTart = new Popup();
popTart.Child = new promptForPhotosetName();
popTart.IsOpen = true;
我基于模板化控件为我的项目添加了一个自定义控件。
我的自定义控件类(在Photrax命名空间中的IS)包含以下构造函数:
public promptForPhotosetName()
{
this.DefaultStyleKey = typeof(promptForPhotosetName);
}
我在\ Themes \ Generic.xaml中有这个,这是我添加自定义控件时创建的另一个文件(以及promptForPhotsetName.cs):
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Photrax">
<Style TargetType="local:promptForPhotosetName">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:promptForPhotosetName">
<StackPanel Orientation="Vertical">
<ListBox >
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<Image Source="Windows 8.jpg" Height="200" Width="300" Stretch="Fill"></Image>
<Image Source="Windows_8.jpg" Height="200" Width="300" Stretch="Fill"></Image>
<Image Source="windows8(1).jpg" Height="200" Width="300" Stretch="Fill">
</Image>
</StackPanel>
</ListBoxItem>
</ListBox>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
然而我收到了这个错误:名称&#34; promptForPhotosetName&#34;命名空间中不存在&#34;在这行XAML上使用:Photrax&#34;。&#34; :
<Style TargetType="local:promptForPhotosetName">
......而且这一个:
<ControlTemplate TargetType="local:promptForPhotosetName">
为什么呢?类 promptForPhotosetName 确实在Photrax命名空间中!
答案 0 :(得分:1)
听起来只是设计工具错误。重建项目应该让设计师认识到以前从未见过的类型。