10

Caliburn.Micro を使用した wpf アプリケーションがあります。ビューMyViewがあります:

<UserControl x:Class="ReferenceMaintenanceWorkspace.MyView"
         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"
         >
  <UserControl.Resources>
 </UserControl.Resources>
 <TabControl x:Name="Items" > 
</TabControl>

私も MyViewModel を持っています:

using System.ComponentModel.Composition;

namespace ReferenceMaintenanceWorkspace
{
[Export(typeof(MyViewModel))]
public class MyViewModel
{
  public MyViewModel()
  {
      base.DisplayName = "Reference Maintenance";
  }

何らかの理由で、タブ コントロールに次のメッセージが表示されます。

ReferenceMaintenanceWorkspace.MyViewModel のビューが見つかりません。

なぜこのようなことが起こるのか説明していただけますか? ありがとう。

4

6 に答える 6

15

将来のために、クラス/パッケージの名前を変更した後も発生しますが、ビューの xaml ファイル「x:Class」では更新されません。

于 2015-07-02T09:46:49.757 に答える
11

Caliburn Microは、プロジェクト内の特定のファイル構造を想定しています。ビューとビューモデルは、ViewsとViewModelsという名前の別々のフォルダーにある必要があります。

これを説明するHelloWorldの良い例を次に示します

于 2012-06-18T13:00:59.867 に答える
8

ブートストラップで SelectAssemblies をオーバーライドし、ビューがあるアセンブリ名を指定する必要があります。

于 2014-08-18T18:13:02.950 に答える
0

タイプミスがないか確認してください。つまり、ViewModel クラス名が ShellViewModel.CS の場合、ビュー名は ShellView である必要があります。タイプミスは、ShelViewModel.CS を含む ViewModel フォルダーと、ShellView.CS を含む View フォルダーにある可能性があります。

于 2020-05-03T21:04:22.283 に答える