はじめに
今回はComponentOne for Xamarinのコントロールの1つ、FlexGrid(フレックスグリッド)の機能を紹介します。
Windows Forms/WPF/UWPなど他のプラットフォームのFlexGridをご利用いただいている皆さんの中には本記事のタイトルでピンときた方も多いかと思いますが、おなじみの機能がComponentOne for Xamarin 2018J v2でXamarinのFlexGridにも追加されました!
実装方法
KeyActionTab
を使用してTabキーをクリックした際の動作を設定できます。
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:FlexGridCsv" xmlns:c1="clr-namespace:C1.Xamarin.Forms.Grid;assembly=C1.Xamarin.Forms.Grid" x:Class="FlexGridCsv.MainPage" Padding="0,20,0,0"> <Grid VerticalOptions="FillAndExpand"> <c1:FlexGrid x:Name="grid" SelectionMode="Cell" KeyActionTab="Cycle" /> </Grid> </ContentPage>
Cycle
を設定すると同じ行の右側のセルにフォーカスが移動できるようになります。Tabキーでフォーカスを移動させたくない場合はNone
を設定してください。
Enterキーで同じ列の下側のセルにフォーカスを移動はできる?
残念ながら、現時点ではComponentOne for XamarinのFlexGridにはまだ実装されていません。ComponentOne for UWPをはじめとする他のデスクトッププラットフォーム製品ではKeyActionEnter
プロパティにMoveDown
を設定すると移動できます。
ComponentOne for XamarinのFlexGridにも今後のアップデートで実装を期待したいと思います。
まとめ
KeyActionTab
を使うだけなので設定は非常にシンプルです。この機能によりタブレットとワイヤレスキーボードで入力や編集を繰り返し行う必要があるシーンなどで、効率的にセルのフォーカスを移動できます。
その他にもComponentOne for Xamarin 2018J v2では新機能が追加されていますので是非ご覧ください。
デモはこちらです。