通过命名空间引用 xaml 文件时“无法解析类型”

kas*_*sra 3 xaml avaloniaui avalonia

我正在尝试构建Avalonia网站中提供的示例项目,但我在某些部分遇到困难。

我想在另一个文件的 xaml 窗口中使用 xaml 元素,如下所示:

<Window xmlns="https://github.com/avaloniaui"
        xmlns:local="using:Buguette.Views">
<Panel>
        <local:MusicStoreView />
</Panel>

</Window>
Run Code Online (Sandbox Code Playgroud)

但我收到一条错误消息“无法使用:Buguette.Views 从命名空间解析 MusicStoreView 类型”。(MusicStoreView 是我尝试在此处包含的文件的名称)。

但是,当我将 MusicStoreView 文件的内容复制到 <local:MusicStoreView /> 应该所在的位置时,一切正常。

我按照网站上的步骤操作,但仍然收到此错误。

任何帮助将非常感激。

Jam*_*mer 5

你需要使用clr-namespace:

<Window xmlns="https://github.com/avaloniaui"
        xmlns:local="clr-namespace:Buguette.Views">
<Panel>
        <local:MusicStoreView />
</Panel>

</Window>

Run Code Online (Sandbox Code Playgroud)

有时您还需要提供程序集名称,例如:

xmlns:viewModels="clr-namespace:MyApp.Core.ViewModels;assembly=Myapp.Core"
Run Code Online (Sandbox Code Playgroud)