为什么我被告知一个类在我的命名空间中不存在呢?

时间:2014-10-17 20:33:28

标签: windows-store-apps custom-controls winrt-xaml xml-namespaces resourcedictionary

我正在尝试按照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命名空间中!

1 个答案:

答案 0 :(得分:1)

听起来只是设计工具错误。重建项目应该让设计师认识到以前从未见过的类型。