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
不带dll的C#WPF.MDI_C#_.net_Wpf_Dll_Mdi - Fatal编程技术网

不带dll的C#WPF.MDI

不带dll的C#WPF.MDI,c#,.net,wpf,dll,mdi,C#,.net,Wpf,Dll,Mdi,我找到了的源代码,并尝试在我的项目中使用它,而不使用任何特定的DLL。所以,我在项目中添加了源代码 然后,编写xmlns声明xmlns:mdi=“clr namespace:WPF.mdi”,并使用MdiChild <mdi:MdiContainer Theme="Aero"> <mdi:MdiChild /> </mdi:MdiContainer> 但是,我收到一个错误XamlParseExcept

我找到了的源代码,并尝试在我的项目中使用它,而不使用任何特定的DLL。所以,我在项目中添加了源代码

然后,编写xmlns声明
xmlns:mdi=“clr namespace:WPF.mdi”
,并使用
MdiChild

    <mdi:MdiContainer Theme="Aero">
        <mdi:MdiChild />
    </mdi:MdiContainer>

但是,我收到一个错误
XamlParseException

我想,我做错了。但是,有什么解决办法吗

更新:
当我将WPF.MDI.dll放入带有.exe文件的文件夹并启动它时-没有错误。为什么要查找dll?

请尝试如下设置命名空间声明:

 xmlns:mdi="clr-namespace:WPF.MDI;assembly=MDISource"
因此,添加
组件
零件。 如果类位于不同的程序集中,则需要添加此项。见:

assembly=包含部分或全部引用CLR的程序集 命名空间。此值通常只是程序集的名称,而不是 路径,不包括扩展名(如.dll或.exe)。 必须将该程序集的路径建立为项目引用 在包含要映射的XAML的项目文件中。在里面 为了合并版本控制和强名称签名,程序集 值可以是由AssemblyName定义的字符串,而不是 简单字符串名

如果引用的clr命名空间与引用自定义类的应用程序代码在同一程序集中定义,则可以省略程序集。或者,这种情况下的等效语法是指定assembly=,在等号后面没有字符串标记

更新

删除
MdiContainer.cs

        if (Environment.OSVersion.Version.Major == 5)
            ThemeValueChanged(this, new DependencyPropertyChangedEventArgs(ThemeProperty, Theme, ThemeType.Luna));
        else
            ThemeValueChanged(this, new DependencyPropertyChangedEventArgs(ThemeProperty, Theme, ThemeType.Aero));

您是否也收到了有关出错原因的详细错误消息?
调用类型为“WPF.MDI.MdiContainer”的构造函数,满足指定的绑定约束,导致异常。“行号”为“7”,位置为“10”。“
字符串是
对我没有帮助。我需要写些什么来代替
MDISource
?我不明白你可以忽略这个答案,我看错了你的问题。您在同一个项目中添加了MDI,对吗?是的,我在我试过的同一个项目中添加了它,但消息并没有显示:(可能,因为异常更早出现)。