Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在WP7 Silverlight中创建多个自定义控件会产生奇怪的异常_.net_Silverlight_Xaml_Windows Phone 7_Xamlparseexception - Fatal编程技术网

.net 在WP7 Silverlight中创建多个自定义控件会产生奇怪的异常

.net 在WP7 Silverlight中创建多个自定义控件会产生奇怪的异常,.net,silverlight,xaml,windows-phone-7,xamlparseexception,.net,Silverlight,Xaml,Windows Phone 7,Xamlparseexception,我按照教程制作了一个自定义控件。我基本上做的是创建一个新项目,添加一个文件CategoryBar.cs和一个名为Themes的目录,其中包含一个文件Themes\generic.xaml(编译类型设置为'resource')。然后我编写了一个类CategoryBar.cs,用ResourceDictionary填充generic.xaml。让我们将此项目称为“UILib”: <?xml version="1.0" encoding="utf-8" ?> <ResourceDi

我按照教程制作了一个自定义控件。我基本上做的是创建一个新项目,添加一个文件
CategoryBar.cs
和一个名为
Themes
的目录,其中包含一个文件
Themes\generic.xaml
(编译类型设置为'resource')。然后我编写了一个类
CategoryBar.cs
,用ResourceDictionary填充
generic.xaml
。让我们将此项目称为“UILib”:

<?xml version="1.0" encoding="utf-8" ?> 
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
                xmlns:local="clr-namespace:ErnestUILib">
    <Style TargetType="local:CategoryBar">
        <Setter Property="Background" Value="Black" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:CategoryBar">
                        <Grid x:Name="GridView" Background="{TemplateBinding Background}" Margin="0,0,0,8">
                            <!-- The grid rowdefs, coldefs and whatever makes up the grid -->
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>
在这里,我在
PaginationBar.cs
中创建了一个类
PaginationBar
,它已经全部设置好了,但是当我尝试在我的应用程序的xaml文件中使用它时,它在designer视图中显示了一个白色填充的矩形,在左上角有一个十字,它表示异常是由“Control_TargetTypeMismatch”引起的。在我做了一些诡计之后,仍然没有任何效果,但是当我使用
时,设计器没有加载,而是给出了一个错误
System.Reflection.TargetInvocationException
(异常已由调用的目标抛出)。当我运行该项目时,它会给出一些XamlParseException错误。这是我能从中获得一些细节的唯一例外,我认为这些细节一点用处都没有。无论如何,这就是我从XamlParseException得到的结果:


我不知道如何进行。非常感谢您的帮助。非常感谢:)

验证分页栏是否定义在同一名称空间中:“clr名称空间:Ernstuilib”。还要验证是否在控件的构造函数中设置了正确的DefaultStyleKey:

 public PaginationBar ()
    {
        DefaultStyleKey = typeof(PaginationBar );
    }

事实上,由于我输入文本的方式存在一些问题,或者天知道是什么,这个问题没有正确地显示出来。我实际上已经建立了两个不同的代码集。在第二部分中,我确实提到了TargetType作为“local:PaginationBar”。非常感谢您的回复,但既然我已经正确地编辑了我的问题,我能麻烦您重新阅读我的问题吗?对此我很抱歉:)非常感谢!!事实证明,由于我是从以前的控件复制粘贴代码,所以我忘了更改这部分。附言:我在你共同创建的博客上的教程后面做了两个控件。干得好!干杯:)
 public PaginationBar ()
    {
        DefaultStyleKey = typeof(PaginationBar );
    }