問題タブ [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.

0 投票する
1 に答える
5799 参照

mvvm - マスター詳細ページを使用したベスト プラクティス MVVM ナビゲーション?

MVVMのパターンをできるだけ踏襲したいのですが、ナビゲーションがうまくできているかわかりません。私はMasterDetailページを使用しており、ナビゲートするときに詳細側のみを変更して、マスターページを維持したいことに注意してください。

ViewModelからナビゲートする方法は次のとおりです。この例では、ViewModelOneからViewModelTwoへ:

マスタービューの実装:

ViewTwo の実装:

PageBase の実装:

これは、ナビゲーションを行うための最良のアプローチ (および最良のパフォーマンス) ですか? いくつかのナビゲーションを行うと、アプリの実行が遅くなり始め、うまくいかないことがあります。

これは、常に MasterDetail ページを表示するナビゲーションを実行するための最良の方法ですか?

ありがとう。

0 投票する
2 に答える
3137 参照

c# - Xamarin Forms イベントのバブリングとカスタム レンダラーでの操作の呼び出し

ビュー内に 3 つのボタン (1、2、3) を含むカスタム Xamarin Forms コントロールを作成しています。GaugeViewこの例のために、単に a と呼びましょう。現在の設定方法は次のとおりです。

  • GuageViewは、iOS と Android の両方に と呼ばれるカスタム レンダラーがありますGuageViewRenderer
  • は、、、および のイベントハンドラGuageViewを公開します。Clicked1Clicked2Clicked3
  • は、、、および のプロパティを公開GuageViewします。ICommandClick1Click2Click3

問題は、カスタム レンダラーからイベント ハンドラーを起動する必要があることです。これは、ボタンの 1 つが押されたことをネイティブ プラットフォーム コントロールだけが認識しているためです。GuageView共有コードが存在する にイベントをバブルアップするにはどうすればよいでしょうか?

コマンドとイベント ハンドラーをカスタム レンダラー内に接続することを計画していましたが、イベントは元のクラス ( GuageView) 内からのみ発生させることができるため、非常に手間がかかります。

これを構造化するより良い方法はありますか?私がやろうとしている主なことは、プラットフォーム ネイティブ ゲージを公開し、そのボタンを接続して、共有コード ( GuageView) 内のイベント ハンドラーがイベントの起動を取得するようにすることです。

0 投票する
2 に答える
1799 参照

xamarin - Android のタブ付きページでスワイプを有効にしますか?

Android の Xamarin.Forms で TabbedPage を使用すると、ページのスワイプが機能しません。

有効にする方法はありますか?カスタム レンダラーを作成する必要がありますか?