Xamarin.Forms で Trigger に反応するコントロールを作りたい
せっかく Xamarin.Forms 1.3.0 から Styles と Triggers が追加されたので、どこまでできるかカスタムコントロールを作ろうと思います!
まずは初歩的なところからタップに反応して外観が変化するコントロールに挑戦
ただ、Trigger はまだ GestureRecognizer と連携してトリガーアクションを起こすようなことはできないようです・・・
要するにコントロールが既定で持っているプロパティやイベントじゃないと使えないご様子
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="XamarinControl.Views.TopPage" Padding="10,0,10,0"> <Entry BackgroundColor="White" VerticalOptions="Center"> <Entry.Triggers> <Trigger TargetType="Entry" Property="Entry.IsFocused" Value="True"> <Setter Property="Entry.BackgroundColor" Value="#FFFF8469"/> </Trigger> </Entry.Triggers> </Entry> </ContentPage>
仕方がないのでこんな Trigger を含んだ Entry コントロールのある ContentPage を記述して実行!
Entry にタップすると IsFocused が True になるので、これに反応して BackgroundColor が変化しました
うーん、まだできることは少ないですね・・・何とかうまく活用方法を考えてみたいです