2

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

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

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

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

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

4

2 に答える 2