XF.MacOS で CustomRenderer を使う (初級編)
前回取りあえず動かすところまでいきました。
どうもmacOS側のボタンがいまいちです。CustomRendererを使ってコントロールのスタイルを変更してみます。
カスタムコントロールを用意
今回はButton
をいじりたいので,Xamarin.Forms.Button
を継承したクラスを適当に作ってXAMLの記述を合わせて変更しておきます。
// CustomButton.cs using Xamarin.Forms; namespace DialogSample { public class CustomButton : Button { } }
<!-- 該当部のみ --> <local:CustomButton Text="Tap or Click Me!" Clicked="Handle_Clicked" />
Rendererを用意
各プラットフォームで対応するViewRenderer
を用意します。
macOSの青いデフォルトボタンにするにはこんな感じ。
KeyEquivalentを指定したので,Returnキーできっちり反応します。
問題点
ちょっと細すぎるので高さを変えたかったところ,Frameいじっても新しく作ってSetNativeControl
してもだめ。
StackLayoutのせいかしら。じゃあGrid?
なるほど。レイアウトで何とかしていく感じね。