2012-06-18 133 views
7

我有一個使用Caliburn.Micro的wpf應用程序。我有一個觀點MyView的:找不到ViewModel的視圖

<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。

你能解釋一下爲什麼會發生這種情況嗎? 謝謝。

回答

12

Caliburn Micro期待您的項目中的某些文件結構。您的視圖和視圖模型應位於名爲Views和ViewModels的單獨文件夾中。

Here是一個不錯的Hello World示例,它描述了這一點。

+1

我維護的應用程序已經有了各種視圖和視圖模型。他們都不存在名稱爲Views和ViewModels的文件夾,但他們工作。儘管它們都存在於不同的類庫項目中,並且我添加了一個名爲ReferenceMaintenanceWorkspace的新類。我不知道這些項目是否應該有一些我不知道的特定設置... –

+1

也許這是手動完成的Caliburn.Micro.View.SetModel(NameView,NameViewModel); – ShadeOfGrey

+0

或在視圖中 ShadeOfGrey

4

您應該重寫SelectAssemblies在引導程序和提供組裝的名字您的觀點在於

5

只是爲了將來,它也恰好重命名類/包之後,但鑑於XAML文件「X:類」。不更新。