2014年2月2日日曜日

WPF テキストボックスの設定色々

ほぼ備忘録。
今回は、テキストボックスの 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 件のコメント:

コメントを投稿