問題タブ [navigationservice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - NavigationService で例外をキャストする
2 つのページ (MainWindow とクライアント) があり、NavigationService を使用してページ間を移動しようとしています。
MainWindow から Client に移動すると機能しますが、Client から MainWindow に移動しようとすると例外が発生します。
タイプ WpfApplication1.MainWindow のオブジェクトを WpfApplication1.Client にキャストできません
これは私のメインウィンドウです
そして、クライアント
私も試しNaviugationService.GoBack()
ましたが、同じ例外が発生します。
どんな手掛かり ?
c# - NavigationService.GoBack() はページをスキップします
NavigationService.GoBack()
ユーザーが入力を終了したら、ページを閉じるために使用しています。
バックスタックは正常に印刷されているため、すべてのページが正しく保存されていると確信していますが、呼び出すとGoBack()
ページがスキップされ、その理由はわかりません。
呼び出す前のバックスタックは次のとおりですGoBack()
に移動すると予想されるためTestPage.xaml
、次の行を使用して確認しています。
そして、ここにその出力があります:
/Model;component/TestPage.xaml への移動
すでに述べたように、ページをスキップして正しく印刷しますが、に移動しMainPage.xaml
ます。
代わりにこのコードを試しましたGoBack()
正しいページに移動するので機能しているように見えますが、突然先に進み、その行を呼び出したページに移動します。
TestPage.xaml
、および私がナビゲートしているページは、BasePage
extendsのインスタンスであることに注意してくださいPhoneApplicationPage
。
誰も手がかりを持っていますか?
編集:拡張されたクラスを削除すると、PhoneApplicationPage
すべてが再び機能するようです。とにかくかなり奇妙ですが、少なくともうまくいきます!
c# - 同じソリューション内の別のプロジェクトに移動する方法
ちょっと誰かが助けてくれることを願っています。
私はグループでさまざまなプロジェクトを開発してきましたが、これらを組み合わせたいと考えています。したがって、私はプロジェクトを含めます。スタートアップ プロジェクトでは、他のプロジェクトへの参照を含めます。次に、別のスタックオーバーフロー スレッドのコードを使用します。
これにより、次のことがわかります
プロジェクトがビルドされ、実行されます。しかし、コードをアクティブにするボタンを押すと、行の実行後/実行中にエラーが発生します。
ブレーク エラーは、次のような MainPage.g.cs ファイルにあります。
星を挿入した行が途切れています。それを機能させるために何をする必要がありますか?
追加
コメントで述べたように、コンポーネントの前にフォワードスラッシュ「/」を含める必要があります。これは、上記のリンクとこのリンクのように、どこでも使用されていないため奇妙です
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 クラス ライブラリ タイプである必要があります。
次に、次のコード行を使用して、同じソリューション内の別のプロジェクトに移動して表示できます。
プロジェクト間を移動します。ただし、生成された xaml ファイル FILENAME.g.cs でエラーが発生し、そこで行 loadcomponent が挿入されます。私が理解できる限り、ビューがデータコンテキストによってビューモデルに接続されているためにエラーが発生します。そして、私はそれを解決することができませんでした。
うまくいけば、誰かがこれに対する解決策を持っていますか?
wpf - NavigationWindow の GoBack 関数を拡張する
いくつかのページを含む NavigationWindow があります。ボタンで次から次へとナビゲートし、ナビゲーション ウィンドウの機能を戻します。私の問題は、いくつかのページをロードするときにディスクリプタを使用していて、navigationwindow で go back 関数を使用するときにそれを破棄したいことです (実際、「ディスクリプタ」は Kinect であり、ページがロードされると開始されます)。 Kinect で sensor.start() を使用しており、戻るときに停止したいと思いますが、sensor.stop() ... ですが、これはこの問題のファイル記述子と同じであり、より多くの人がファイル記述子で作業していると思います。 )。
ページ内の GoBack 関数を拡張して記述子を破棄する方法はありますか (私のコードでは、 sensor.stop(); を呼び出すだけで済みます)。
前もって感謝します
c# - 毎回新しいページを作成するWPF NavigationService
次のように、WPF NavigationService を使用して、アプリケーション内のあるページから別のページに移動しています。
ページに複数回移動すると、そのたびに新しい Page オブジェクトが作成されることがわかりました。(ページにコンストラクターを追加してメッセージボックスを表示すると、メインアプリケーションが終了するとすべてのページが破棄されることがわかりました)
アプリケーションの有効期間中に作成される Page が 1 つだけになるように、NavigationService を使用するにはどうすればよいですか??
c# - ナビゲーション サービスによるページ間のアニメーション遷移
C# と NavigationService で WPF を使用しています。例えば:
ページ間を移動するためにトランジション フェードやその他のアニメーションを追加するにはどうすればよいですか?