ビュー内に 3 つのボタン (1、2、3) を含むカスタム Xamarin Forms コントロールを作成しています。GaugeViewこの例のために、単に a と呼びましょう。現在の設定方法は次のとおりです。
- に
GuageViewは、iOS と Android の両方に と呼ばれるカスタム レンダラーがありますGuageViewRenderer。 - は、、、および のイベントハンドラ
GuageViewを公開します。Clicked1Clicked2Clicked3 - は、、、および のプロパティを公開
GuageViewします。ICommandClick1Click2Click3
問題は、カスタム レンダラーからイベント ハンドラーを起動する必要があることです。これは、ボタンの 1 つが押されたことをネイティブ プラットフォーム コントロールだけが認識しているためです。GuageView共有コードが存在する にイベントをバブルアップするにはどうすればよいでしょうか?
コマンドとイベント ハンドラーをカスタム レンダラー内に接続することを計画していましたが、イベントは元のクラス ( GuageView) 内からのみ発生させることができるため、非常に手間がかかります。
これを構造化するより良い方法はありますか?私がやろうとしている主なことは、プラットフォーム ネイティブ ゲージを公開し、そのボタンを接続して、共有コード ( GuageView) 内のイベント ハンドラーがイベントの起動を取得するようにすることです。