Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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
C# XAML-创建类的实例_C#_Wpf_Xaml_Build Error - Fatal编程技术网

C# XAML-创建类的实例

C# XAML-创建类的实例,c#,wpf,xaml,build-error,C#,Wpf,Xaml,Build Error,我试图从我的应用程序的XAML标记中创建一个C#类的实例 我试图在标记中使用C#类的实例,在我嵌套在标记中的标记中,我声明了C#类所属的命名空间: <TabControl xmlns:agent="RAgent"> <TabItem Header="R"> <StackPanel> ... </StackPanel> </TabItem> <TabIt

我试图从我的应用程序的XAML标记中创建一个C#类的实例

我试图在
标记中使用C#类的实例,在我嵌套在
标记中的
标记中,我声明了C#类所属的命名空间:

<TabControl xmlns:agent="RAgent">
    <TabItem Header="R">
        <StackPanel>
            ...
        </StackPanel>
    </TabItem>
    <TabItem Header = "BClass">
        <StackPanel>
            <agent:BClass />
        </StackPanel>
    </TabItem>
</TabControl>
我知道C#代码可以正确编译和运行,因为我以前将其与应用程序的其余部分分开运行。但是,当我当前尝试构建代码时,我在XAML中得到一个编译错误,行为:

<agent:BClass />
xmlns:local="clr-namespace:RAgent">
,然后在
标记中删除
xmlns
的使用,并尝试通过
local
创建类的实例:

<TabControl>
    ...
    <TabItem Header="BClass">
        <StackPanel>
            <local:BClass x:Name="BClass" />
        </StackPanel>
    </TabItem>
</TabControl>
上面说:

无法将“BClass”类型的值添加到“UIElementCollection”类型的集合或字典中

我尝试删除
标记,虽然这删除了上面的编译错误,但它给我留下了一个这样的错误:

名称“BClass”不存在于名称空间“clr namespace:RAgent”中,正如
BClass
的定义所示,它显然存在于名称空间中


有人知道我如何解决这个问题吗?

我建议您在MainApp中创建
选项卡控件
,然后在项目中将每个
选项卡项
作为
用户控件
。然后,您可以通过执行以下操作在相应的选项卡中轻松实例化类


检查并获取更好的理解

您是否尝试为此声明添加
x:Key
?因此,代码应该如下所示。或者可能是
partial
关键字有问题。我刚刚尝试了一下,但仍然得到了相同的编译错误,现在还得到了一个说
类型为“BClass”的值不能添加到类型为“UIElementCollection”的集合或字典中的问题。
xmlns:agent=“
clr namespace
:RAgent”也许?这就是我所拥有的
,然后在
中,我放置了
,结束标记如下:
我编辑了我的操作,以显示我如何尝试解决此问题,以及我现在尝试创建
BClass
实例时遇到的问题。。。
<TabControl>
    ...
    <TabItem Header="BClass">
        <StackPanel>
            <local:BClass x:Name="BClass" />
        </StackPanel>
    </TabItem>
</TabControl>
<local:BClass x:Name="BClass" />