1

編集:ようやく機能するようになったようです。以前参照したその投稿の著者に尋ねたところ、既知の問題であるとのことでした。彼は回避策も提供してくれたので (投稿の下のコメントで)、この質問はクローズ済みと考えます。しかし、私の問題に時間を費やしてくれた皆さんに感謝します:)


Caliburn MicroフレームワークでMVVMを学ぼうとしているのですが、最初から問題があります。私はこのチュートリアルに従っており、App.xaml でそのようなコードを取得しました:

<Application
x:Class="Caliburn.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:caliburnMicro="clr-namespace:Caliburn">
<!--Application Resources-->
    <Application.Resources>
        <caliburnMicro:Bootstrapper x:Key="bootstrapper" />
    </Application.Resources>
</Application>

しかし、エラーが発生しました:

「Bootstrapper」という名前は名前空間「clr-namespace:Caliburn」に存在しません。

NuGet リポジトリから Caliburn Micro 1.5.2 を入手しました。どんなアイデアでも大歓迎です...

私のブートストラップ:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Caliburn.Micro;

namespace Caliburn
{
public class Bootstrapper : PhoneBootstrapper
{
    PhoneContainer container;

    protected override void Configure()
    {
        container = new PhoneContainer();

        container.RegisterPhoneServices(RootFrame);
        //container.PerRequest<MainPageViewModel>();

        AddCustomConventions();
    }

    static void AddCustomConventions()
    {
        //ellided  
    }

    protected override object GetInstance(Type service, string key)
    {
        return container.GetInstance(service, key);
    }

    protected override IEnumerable<object> GetAllInstances(Type service)
    {
        return container.GetAllInstances(service);
    }

    protected override void BuildUp(object instance)
    {
        container.BuildUp(instance);
    }
}
}
4

3 に答える 3

4

Caliburn.Micro ブートストラップ タイプの 1 つから派生した独自の Bootstrapper タイプを定義する必要があります。アプリケーション リソース内のリソースは、このブートストラッパーのインスタンスである必要があります。

学習中の最も簡単なオプションは、Caliburn.Micro.Start NuGet パッケージを使用し、そのブートストラップ実装を確認することです。このドキュメントでは、App.xaml ファイルで使用する必要があるマークアップについても説明しています。

于 2013-07-09T12:57:38.490 に答える