ちょっと誰かが助けてくれることを願っています。
私はグループでさまざまなプロジェクトを開発してきましたが、これらを組み合わせたいと考えています。したがって、私はプロジェクトを含めます。スタートアップ プロジェクトでは、他のプロジェクトへの参照を含めます。次に、別のスタックオーバーフロー スレッドのコードを使用します。
これにより、次のことがわかります
NavigationService.Navigate(new Uri("/MVVMTestApp;/component/View/MainPage.xaml", UriKind.Relative));
プロジェクトがビルドされ、実行されます。しかし、コードをアクティブにするボタンを押すと、行の実行後/実行中にエラーが発生します。
ブレーク エラーは、次のような MainPage.g.cs ファイルにあります。
namespace MVVMTestApp {
public partial class MainPage : Microsoft.Phone.Controls.PhoneApplicationPage {
internal System.Windows.Controls.TextBlock MainPageTitle;
internal System.Windows.Controls.TextBlock LEgE;
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
*******System.Windows.Application.LoadComponent(this, new System.Uri("/MVVMTestApp;component/View/MainPage.xaml", System.UriKind.Relative));**
this.MainPageTitle = ((System.Windows.Controls.TextBlock)(this.FindName("MainPageTitle")));
this.LEgE = ((System.Windows.Controls.TextBlock)(this.FindName("LEgE")));
}
}
}
星を挿入した行が途切れています。それを機能させるために何をする必要がありますか?
追加
コメントで述べたように、コンポーネントの前にフォワードスラッシュ「/」を含める必要があります。これは、上記のリンクとこのリンクのように、どこでも使用されていないため奇妙です
http://www.geekchamp.com/tips/wp7-navigating-to-a-page-in-different-assembly
しかし、フォワードスラッシュを含めると、指定した場所に xaml ファイルが存在しないというエラーが表示されます。スラッシュを除外すると、XamlParseExceptionが発生しました....
そのため、別のプロジェクトのビューに移動するという問題がまだあります。
奇数
コンポーネントの前にスラッシュを付ける必要がなくなりました。MVVMTestAppAssembly を書いている限り。アセンブリ ファイルを調べましたが、これが含まれていることがわかりません =?
msdn http://msdn.microsoft.com/en-us/library/cc296240%28v=vs.95%29.aspxを見て試してみました
しかし、ナビゲーションを機能させるにはまだ運がありません
参照の概要と要素へのフルパスが含まれています
1 つの解決策 1 つの回答で述べたように、1 つの解決策は Windows Phone クラス ライブラリを使用することです。しかし、MVVM 構造を使用すると、viewmodelLocator を機能させることができません。したがって、これは私にとって解決策ではありません。
しかし、MVVM を使用する場合は、別のソリューションが必要です。うまくいけば、誰かがこれについてのアイデアを持っています。 別の解決策 以下の回答で説明されているように、次の解決策 1 を使用できます。
同じ種類のプロジェクト「Windows Phone アプリ」を使用します。このソリューションでは、1 つの Windows Phone アプリ プロジェクトが必要であり、他のプロジェクトは Windows Phone クラス ライブラリ タイプである必要があります。
次に、次のコード行を使用して、同じソリューション内の別のプロジェクトに移動して表示できます。
NavigationService.Navigate(new Uri("/MVVMTestApp;/component/View/MainPage.xaml", UriKind.Relative));
プロジェクト間を移動します。ただし、生成された xaml ファイル FILENAME.g.cs でエラーが発生し、そこで行 loadcomponent が挿入されます。私が理解できる限り、ビューがデータコンテキストによってビューモデルに接続されているためにエラーが発生します。そして、私はそれを解決することができませんでした。
うまくいけば、誰かがこれに対する解決策を持っていますか?