問題タブ [xamarin-forms]
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.
mvvm - マスター詳細ページを使用したベスト プラクティス MVVM ナビゲーション?
MVVMのパターンをできるだけ踏襲したいのですが、ナビゲーションがうまくできているかわかりません。私はMasterDetailページを使用しており、ナビゲートするときに詳細側のみを変更して、マスターページを維持したいことに注意してください。
ViewModelからナビゲートする方法は次のとおりです。この例では、ViewModelOneからViewModelTwoへ:
マスタービューの実装:
ViewTwo の実装:
PageBase の実装:
これは、ナビゲーションを行うための最良のアプローチ (および最良のパフォーマンス) ですか? いくつかのナビゲーションを行うと、アプリの実行が遅くなり始め、うまくいかないことがあります。
これは、常に MasterDetail ページを表示するナビゲーションを実行するための最良の方法ですか?
ありがとう。
c# - Xamarin Forms イベントのバブリングとカスタム レンダラーでの操作の呼び出し
ビュー内に 3 つのボタン (1、2、3) を含むカスタム Xamarin Forms コントロールを作成しています。GaugeView
この例のために、単に a と呼びましょう。現在の設定方法は次のとおりです。
- に
GuageView
は、iOS と Android の両方に と呼ばれるカスタム レンダラーがありますGuageViewRenderer
。 - は、、、および のイベントハンドラ
GuageView
を公開します。Clicked1
Clicked2
Clicked3
- は、、、および のプロパティを公開
GuageView
します。ICommand
Click1
Click2
Click3
問題は、カスタム レンダラーからイベント ハンドラーを起動する必要があることです。これは、ボタンの 1 つが押されたことをネイティブ プラットフォーム コントロールだけが認識しているためです。GuageView
共有コードが存在する にイベントをバブルアップするにはどうすればよいでしょうか?
コマンドとイベント ハンドラーをカスタム レンダラー内に接続することを計画していましたが、イベントは元のクラス ( GuageView
) 内からのみ発生させることができるため、非常に手間がかかります。
これを構造化するより良い方法はありますか?私がやろうとしている主なことは、プラットフォーム ネイティブ ゲージを公開し、そのボタンを接続して、共有コード ( GuageView
) 内のイベント ハンドラーがイベントの起動を取得するようにすることです。
xamarin - Android のタブ付きページでスワイプを有効にしますか?
Android の Xamarin.Forms で TabbedPage を使用すると、ページのスワイプが機能しません。
有効にする方法はありますか?カスタム レンダラーを作成する必要がありますか?