WinRT アプリで複数のビューを使用する可能性を理解しようとしています。独自のディスパッチャ スレッドで実行され、.in/out を切り替えることができる新しいビューを作成できますCoreApplication.CreateNewView
。最初の引数でビュー プロバイダーを渡す方法を指定する方法がわかりません。C# で裸のアプリを使用している場合 (ただし、 を使用する場合も同様ですApplication.Start
):
public class Program
{
static void Main()
{
CoreApplication.Run(new MyViewSource());
}
}
public class MyViewSource : IFrameworkViewSource
{
public IFrameworkView CreateView()
{
return new MyView();
}
}
public class MyView : IFrameworkView
{
// ...
}
現在のビュー プロバイダー (現在アクティブなビューを作成したものだと思います) を使用して新しいビューを作成する場合は、次のことができます。
CoreApplication.CreateNewView("", "foo");
API ドキュメントによると、最初のパラメーターは「新しいビューのビュー プロバイダーのクラス ID」です。それは何を指していますか?私が試したものはすべて、次の結果をもたらしました:
追加情報: クラスが登録されていません (HRESULT からの例外: 0x80040154 > >(REGDB_E_CLASSNOTREG))