0

VisualStudioで一連のWpfUserControlsを作成しようとしています。「コア」ライブラリにあるBindableBaseすべてのボイラープレートを処理するという基本クラスがあります。XAMLでデータコンテキストを設定しようとすると、INotifyPropertyChangedすべてのViewModelが継承します。BindableBase

<UserControl.DataContext>
    <local:MyViewModel />
</UserControl.DataContext>

Designerの「無効なマークアップ」エラーが発生します。コードを調べると、名前空間[UINamespace]に「MyViewModel」という名前が存在しないと言われています。 私はプロジェクトを問題なく問題なくビルドして実行できるので、これが真実ではないことを知っています。私が欠けているのは設計時の機能だけです。

BindableBase別のアセンブリにあるクラスまで問題を追跡しました。ViewModelとViewを使用してアセンブリに移動すると、すべてがうまく機能しますが、「コア」名前空間に戻すと、デザイン時の機能が機能しなくなります。

この問題を回避する方法はありますか?BindableBase複数のUIアセンブリがあり、それらすべてがそのクラスを参照する必要があるため、クラスを移動することはできません。

4

1 に答える 1

0

私も時々この問題を抱えています。通常、ソリューションを再起動して再度開いた後、ソリューションのクリーニングと再構築を試みます。これが失敗した場合は、問題のあるコードを削除し、Visual Studio を保存して再起動し、ソリューションを再度開いてコードを再入力し、必要に応じてクリーンとリビルドを行います。

于 2012-12-12T01:17:43.560 に答える