しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

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 を記述して実行!

f:id:matatabi_ux:20150115172737p:plain

Entry にタップすると IsFocused が True になるので、これに反応して BackgroundColor が変化しました

うーん、まだできることは少ないですね・・・何とかうまく活用方法を考えてみたいです