2

別のプロジェクト (すべてのモデルが存在するクラス ライブラリ) の名前空間を参照しています。

関連する質問で述べたように、アセンブリも .xaml ファイルに追加することで問題を解決しました。しかし、これは私にはうまくいきませんでした。そういうわけで投稿しています。

私は2つのプロジェクトを持っています。

  1. WPF プロジェクト自体。
  2. クラス ライブラリ (これにはすべてのビューモデルがあります)

WPF プロジェクトにはクラス ライブラリへの参照があります (これにより、WPF プロジェクトのビンにこのクラス ライブラリの 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%)。

問題を迅速に解決するために、これについて助けてもらえますか。

前もって感謝します。

4

1 に答える 1

3

WPF プロジェクトの 1 つの XAML ファイルで別のプロジェクトから参照する場合は、次の点に注意してください。

私の問題では、以下に示すようにこれらの間のスペースを削除しました[This is the space]

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

そして、それはうまくいきました:)

PS: 私は VS2012 で作業しています

私はこれに多くの時間を無駄にしました.:(

于 2013-01-11T18:40:57.990 に答える