WPF xaml文件中另一个项目中的引用名称空间

时间:2013-01-11 18:30:28

标签: c# wpf namespaces wpf-controls

我正在引用另一个项目的名称空间(类库,所有模型都驻留在这里)。

如相关问题中所述,他们通过将程序集添加到.xaml文件中来解决问题。但这对我不起作用。这就是我发帖的原因。

我有2个项目。

  1. WPF项目本身。
  2. 类库(包含所有视图模型)
  3. WPF项目引用了类库。(应该在WPF项目的bin中创建这个类库的dll文件)

    我想在类库中引用一个模型。 所以,我做了如下。

        <UserControl x:Class="WPFApplication.Views.SalesScreen"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                 xmlns:productListViewModel="clr-namespace: WPFApplication.CommonInterface.Shared.ViewModels; assembly=WPFApplication.CommonInterface"
                 mc:Ignorable="d" 
                 d:DesignHeight="820" d:DesignWidth="1280" Loaded="PlaneLoaded">....
    ....
    <productListViewModel:ProductListVM x:Key="ProductsListVMC"/>...
    

    但问题仍然存在,此ProductListVM类(模型)存在于WPFApplication.CommonInterface.Shared.ViewModels名称空间中,它也是public。 :)

    错误说,

    The name "ProductListVM" does not exist in the namespace "clr-namespace:WPFApplication.CommonInterface.Shared.ViewModels; assembly=WPFApplication.CommonInterface".
    

    我还试图单独构建类库并手动将dll文件添加到WPF项目bin/debug并构建它。但问题同样存在。

    错误列表中还有另一个错误。

    Unknown build error, ''clr-namespace:WPFApplication.CommonInterface.Shared.ViewModels; assembly=POS.WPFApplication.CommonInterface' mapping URI is not valid. Line 7 Position 14.'  D:\Dev\WPFApplication\Views\POSViews\SalesScreen.xaml
    
    Error   1   The URI "clr-namespace:WPFApplication.CommonInterface.Shared.ViewModels; assembly=WPFApplication.CommonInterface" is not a valid namespace identifier.  D:\Dev\WPFApplication\Views\POSViews\SalesScreen.xaml
    

    由于我从类模型本身复制了名称空间,因此不会出现拼写错误(99%),

    你能否给我一个帮助来快速解决问题。

    提前致谢。

1 个答案:

答案 0 :(得分:3)

如果要从WPF项目的某个XAML文件中的其他项目引用,请注意以下内容。

在我的问题中,当我删除它们之间的空格时,如下所示[This is the space]

xmlns:productListViewModel="clr-namespace: WPFApplication.CommonInterface.Shared.ViewModels;[This is the space]ssembly=WPFApplication.CommonInterface"

它有效:)

PS:我在VS2012工作

我浪费了很多时间。:(