Power Appsキャンバスのラベルは、文字量が多いときは折り返すか省略表示をする動作なので、文字量に応じて長さが変わるよう修正してみた。
完成イメージ
イメージとしては、通常のラベル幅は固定なので画像のように折り返したり、…を使った省略表記になるところを、


こんな感じで自動で長さが変わってくれるようにする。


Len関数
今回使用したのはLen関数。
![]()

Len 関数 - Power Platform
Len 関数の構文と例を含む参照情報。
この関数はテキストの文字列の長さを返してくれる関数で、Len関数を使用してテキストの長さを使ってWidthを動的に変化させてみた。
実装方法
実装に特に難しいことはなくて、WidthにLen関数を入れて自分のテキストの長さを入れてあげるだけ。
あとはテキストの長さに、1文字の長さを乗算してあげれば完成。


1文字の長さ
動的にラベルが伸びるようにはなったが、気になるのは1文字の長さ。
こんな感じでフォントサイズをかけてあげると、半角の時はラベルが長くなりすぎて、


全角の時は逆にラベルが短くなりすぎる。


なので、ちょっと気持ち悪いけど1文字の長さとして固定数字を入れるのが今のところいい感じ。
ちなみに、フォントが「OpenSans」でサイズが「13」の全角を表示するラベルであれば、1文字の長さは「18」が、


フォントが「Arial」でサイズが「13」の半角を表示するラベルなら、1文字の長さは「9」がいい感じ。


コメント