キャンバス アプリのテキスト入力モダン コントロール

パスワード マスクと検索モードをサポートする、1 行または複数行のテキストをキャプチャするためのテキスト入力フィールド。

説明

柔軟な書式設定オプションを使用してユーザーからのテキスト入力をキャプチャするには、[ テキスト入力 ] コントロールを使用します。 このコントロールは、1 行テキスト、複数行のテキスト領域、マスク付きのパスワード フィールド、適切なスタイル設定による検索入力をサポートします。 このコントロールの主なプロパティは、 TextPlaceholderTypeTriggerOutput です

一般

既定値 – コントロールが最初に読み込まれるときに表示される初期テキスト。 これを使用して、ユーザー操作の前に既定値を設定します。

Text – コントロールの現在のテキスト値 (出力プロパティ)。 これは、ユーザーが入力したテキストを取得するために数式で参照します。

プレースホルダー – 入力フィールドが空の場合に表示されるヒント テキスト。 これを使用して、ユーザーが入力する内容をガイドします。 既定値は "テキストの入力" です

表示 – コントロールが表示されるか非表示になっているか。 Power Fx 数式を使用して、アプリの状態に基づいてコントロールを表示または非表示にします。

動作

OnChange – ユーザーがテキストを変更したときのアプリの応答方法。 このイベントは、すべてのキーストロークではなく、ユーザーがコントロールからフォーカスを離れると発生します (ぼかし時)。 これにより、パフォーマンスが向上し、迅速な数式の実行に関する問題を回避できます。

OnSelect – ユーザーがコントロール内をクリックまたはタップしたときのアプリの応答方法。

Type – テキスト フィールドの入力モード。 TextInputType列挙値を受け入れます。

価値 説明
TextInputType.SingleLine 標準の 1 行テキスト入力 (既定)
TextInputType.Multiline 改行を許可する複数行のテキスト領域
TextInputType.Password 文字を *** としてマスクするパスワード フィールド
TextInputType.Search 適切なスタイル設定で入力を検索する

TriggerOutputText 出力プロパティが更新されるタイミングを制御します。 TriggerOutput列挙値を受け入れます。

価値 説明
TriggerOutput.Keypress すべてのキーストロークの更新 (既定)
TriggerOutput.FocusOut フォーカスがコントロールから離れるときにのみ更新されます
TriggerOutput.Delayed 短い遅延後の更新 (フォームで使用)

フォームに追加すると、 TriggerOutput は自動的に [ 遅延] に設定され、フォームのパフォーマンスが向上します。

MaxLength – 入力フィールドで許可される最大文字数。 ユーザーはこの制限を超えて入力することはできません。

必須 – ユーザーがフォームを送信する前にテキストを入力する必要があるかどうか。 trueすると、空のままにすると、コントロールに検証スタイルが表示されます。

ValidationState – コントロールの視覚的な検証状態。 ValidationState列挙値を受け入れます。

価値 説明
ValidationState.None 検証スタイルなし (既定)
ValidationState.Error エラーのスタイル設定 (赤い枠線) を表示します

DisplayMode – コントロールでユーザー入力 (編集) を許可するか、データのみを表示するか (表示)、無効 (無効) にするかを指定します。 表示モードでは、テキストは表示されますが、編集することはできません (本当に読み取り専用)。

サイズと位置

配置 – コントロール内のテキストの水平方向の配置。 Align列挙値を受け入れます。

価値 説明
Align.Left テキストを左端に揃えます (既定)
Align.Center テキストを水平方向に中央揃えする
Align.Right テキストを右端に揃えます

X – コントロールの左端とその親コンテナーの左端との間の距離 (親コンテナーがない場合は画面)。

Y – コントロールの上端とその親コンテナーの上端との間の距離 (親コンテナーがない場合は画面)。

– コントロールの左端と右端の間の距離。 既定値は 320 です

高さ – コントロールの上端と下端の間の距離。 既定値は 32 です

PaddingTop – テキストとコントロールの上端の間の距離。

PaddingBottom – テキストとコントロールの下端の間の距離。

PaddingLeft – テキストとコントロールの左端との間の距離。

PaddingRight – テキストとコントロールの右端の間の距離。

スタイルとテーマ

外観 – コントロールの表示スタイル。 Appearance列挙値を受け入れます。

価値 説明
Appearance.FilledDarker 暗い背景で塗りつぶす (既定値)
Appearance.FilledLighter 塗りつぶされた背景スタイル
Appearance.Outline 背景が透明な枠線

BasePaletteColor – コントロールのカラー パレットを生成するためにテーマによって使用される基本色。 コントロールに別のテーマの色を適用するように、このプロパティを変更します。

フォント – テキストが表示されるフォント ファミリの名前。

サイズ – テキストのフォント サイズをポイント単位で指定します。

– コントロール内のテキストの色。

FontWeight – テキストの太さ (太さ)。 FontWeight列挙値を受け入れます。

価値 説明
FontWeight.Bold 太字テキスト
FontWeight.Semibold 半ボルトテキスト
FontWeight.Normal 通常の重み (既定値)
FontWeight.Lighter 軽量

斜体 – テキストを斜体のスタイルで表示するかどうかを指定します。

下線 – テキストの下に行を表示するかどうかを指定します。

取り消し線 – テキストの中央に線が表示されるかどうか。

塗りつぶし – コントロールの背景色。

BorderColor – コントロールの境界線の色。

BorderStyle – コントロールの境界線のスタイル。 BorderStyle列挙値 (BorderStyle.SolidBorderStyle.DashedBorderStyle.Dotted、またはBorderStyle.None) を受け取ります。

BorderThickness – コントロールの境界線の太さ (ピクセル単位)。

RadiusTopLeft – コントロールの左上隅のコーナー半径。

RadiusTopRight – コントロールの右上隅のコーナー半径。

RadiusBottomLeft – コントロールの左下隅の角の半径。

RadiusBottomRight – コントロールの右下隅のコーナー半径。

Accessibility

AccessibleLabel – スクリーン リーダーが入力フィールドの内容を読み上げるラベル。 必要なテキストの種類 ("顧客名" や "フィードバック コメント" など) を記述する必要があります。

ContentLanguage – 入力テキストに使用される言語。 指定されていない場合は、アプリ設定から継承します。

次の YAML の例は、さまざまな入力の種類を持つテキスト入力コントロールを示しています。

- NameInput:
    Control: ModernTextInput@1.0.0
    Properties:
      Placeholder: ="Enter your full name"
      Type: =TextInputType.SingleLine
      TriggerOutput: =TriggerOutput.Keypress
      Required: =true
      Appearance: =Appearance.FilledDarker
      AccessibleLabel: ="Full name, required field"
      X: =40
      Y: =100
      Width: =300
      Height: =32

- EmailInput:
    Control: ModernTextInput@1.0.0
    Properties:
      Placeholder: ="you@company.com"
      Type: =TextInputType.SingleLine
      TriggerOutput: =TriggerOutput.Keypress
      MaxLength: =100
      Required: =true
      AccessibleLabel: ="Email address, required field"
      X: =40
      Y: =150
      Width: =300
      Height: =32

- PasswordInput:
    Control: ModernTextInput@1.0.0
    Properties:
      Placeholder: ="At least 8 characters"
      Type: =TextInputType.Password
      TriggerOutput: =TriggerOutput.Keypress
      MaxLength: =50
      Required: =true
      AccessibleLabel: ="Password, must be at least 8 characters"
      X: =40
      Y: =200
      Width: =300
      Height: =32

- CommentsInput:
    Control: ModernTextInput@1.0.0
    Properties:
      Default: =""
      Placeholder: ="Tell us more about your inquiry..."
      Type: =TextInputType.Multiline
      TriggerOutput: =TriggerOutput.FocusOut
      MaxLength: =500
      Align: =Align.Left
      AccessibleLabel: ="Additional comments, optional, maximum 500 characters"
      X: =40
      Y: =250
      Width: =300
      Height: =120

- SearchInput:
    Control: ModernTextInput@1.0.0
    Properties:
      Placeholder: ="Search..."
      Type: =TextInputType.Search
      TriggerOutput: =TriggerOutput.Delayed
      Appearance: =Appearance.Outline
      AccessibleLabel: ="Search by name or description"
      X: =40
      Y: =390
      Width: =300
      Height: =32

最新の更新

テキスト入力モダン コントロールの更新バージョンには、機能強化と動作の変更が含まれています。

プロパティ名の変更

次のプロパティの名前が変更されます。 古いプロパティ名を参照するアプリ内のすべての数式を更新します。

以前のプロパティ 新しいプロパティ
FontColor Color
FontSize Size
FontItalic Italic
FontStrikethrough Strikethrough
FontUnderline Underline
BorderRadius RadiusTopLeftRadiusTopRightRadiusBottomLeftRadiusBottomRight

バグの修正と機能強化

  • OnChange の最適化: OnChange イベントは、すべてのキーストロークではなく、ユーザーがフィールドを離れる場合にのみ発生するようになりました (ぼかし時)。 これにより、パフォーマンスが向上し、迅速な数式の実行に関する問題を回避できます。
  • TriggerOutput の柔軟性: TriggerOutput プロパティが Keypress に既定で設定され、即時更新が行われるようになり、遅延はフォームで自動的に使用 され 、パフォーマンスが向上します。
  • 既定のプロパティ: 新しい Default プロパティを使用すると、コントロールの読み込み時に初期値を設定できます。
  • パスワード プレビュー: パスワード フィールドに、プレビュー モードでもマスクされた文字 (***) が表示され、セキュリティで保護されたフォームの設計が容易になりました。
  • DisplayMode.View 修正済み: ビュー モードに設定すると、コントロールは本当に読み取り専用になりました。 以前は、ユーザーはテキストを編集できました。
  • Null 処理が改善されました。空白または null 値が null ではなく空の文字列を正しく返すようになり、数式エラーが回避されるようになりました。
  • 複数行オーバーフローが修正されました。ユーザーが Enter キーを押して新しい行を作成するときに、複数行のテキスト領域にオーバーフローの問題がなくなりました。
  • OnChange のタブ移動が修正されました。変更を加えずにユーザーがフィールドをタブ移動したときに OnChange が起動しなくなりました。
  • 罫線レンダリングが修正されました。コントロールの高さが 32 ピクセル未満の場合でも、罫線が正しくレンダリングされるようになりました。
  • カラー パレットのオーバーライド: プロパティ パネルの BasePaletteColor プロパティがグローバル テーマを適切にオーバーライドするようになりました。

ベスト プラクティス

  • プレースホルダーをクリアする: プレースホルダー を使用して、テキストや書式設定のヒントの例を表示します (たとえば、日付の場合は "MM/DD/YYYY" など)。
  • 適切な種類: 適切に型 を使用する - 機密データの パスワード 、長いテキストの 場合は複数行 、検索ボックスを 検索 します。
  • MaxLength 検証: MaxLength を設定して、ユーザーがテキストを入力しすぎないようにします(特に、文字制限のあるデータベース フィールドの場合)。
  • TriggerOutput の考慮事項: Keypress を使用してすぐにフィードバック (検索、フィルター)、 検証に FocusOut 、コストの高い操作 の場合は遅延 します。
  • 必須フィールド: 必須フィールドを [ 必須 ] で明確にマークし、 ValidationState で視覚的なフィードバックを提供します。
  • アクセシビリティ対応ラベル: 入力するテキストを説明する説明的 な AccessibleLabel テキストを常に提供します。
  • OnChange の効率: OnChange はぼかし (すべてのキーストロークではなく) で発生するため、パフォーマンスに問題なくデータの更新や検証に使用しても安全です。
  • 文字カウンター: MaxLength のフィールドの場合は、ユーザーが制限内に留まるのに役立つ文字数を表示することを検討してください。

こちらも参照ください