今回は、テキストボックスの IME の制御や入力禁止の方法と、改行許可・折り返し・スクロールバーの指定、
そしてテキストボックスだけとは限らないけど、タブオーダーについてまとめておきます。
○ IMEの制御について
入力項目によって、IME の制御をかける場合は、以下のようにプロパティをセットするれば良い。IME ON
<textbox InputMethod.PreferredImeState="On"
InputMethod.PreferredImeConversionMode="FullShape,Native"/>
IME ON カタカナ入力
<textbox InputMethod.PreferredImeState="On"
InputMethod.PreferredImeConversionMode="FullShape,katakana"/>
半角英数字
<textbox InputMethod.PreferredImeState="On"
InputMethod.PreferredImeConversionMode="Alphanumeric"/>
IME 抑制
<textbox InputMethod.IsInputMethodSuspended="True" />
参考:
[XAML] WPF で IME (かな漢字変換) を切り替えるには (Windows フォームから WPF へ)
http://code.msdn.microsoft.com/windowsdesktop/XAML-WPF-IME-Windows-WPF-9ef457d7
○ 改行許可・折り返し・スクロールバーの指定
<TextBox
AcceptsReturn="True"
TextWrapping="Wrap"
VerticalScrollBarVisibility="Auto" />
上から、改行許可、折り返し有り、縦スクロールバー自動表示○ 入力禁止の設定について
入力禁止は以下のプロパティのセットで行える。
<TextBox
FontSize="20"
Margin="5"
IsReadOnly="True"
Text="IsReadOnly" />
○ タブーオーダーについて
普通に TabIndex プロパティを設定しても良いようだが、コントロールの中にコントロールを入れたりした場合などに、上手く制御が利かない場合が有るようなので、「KeyboardNavigation.TabNavigation」を使った上でプロパティをセットした方が良いようだ。 また、タブで移動したくない項目については、「IsTabStop」を「False」にセットする。
<StackPanel KeyboardNavigation.TabNavigation ="Local" >
<TextBox Name="TextBox1" Height="20" TabIndex="1" />
<TextBox Name="TextBox2" Height="20" IsTabStop="False" />
</StackPanel>
最後に
WPF の書籍がなくてどうしようかと思っていたけど結局の所、その都度検索をかけて情報を蓄積していくのが良いみたい。というか、それしかないみたい。
0 件のコメント:
コメントを投稿