C1FlexGrid コントロールにおいてIME制御を行うには、InputMethod クラスを使用してIMEの状態を取得や設定します。また、グリッドでセル編集時のIME 変換モードを切りかえる方法として、InputMethod を使用します。
たとえば、次のコードでは、列ごとに編集時のIMEの変換モードを切り替える方法を示します。最初の列はXAML上でIMEを制御する方法(編集用のTextBoxに対してIME制御関連の設定を行う)を示します。2 列目以降は、コード上でIMEを制御する方法を示します。それに加えて、セルが選択された時点で強制的に編集モードに切り替える方法も示します。
マークアップ |
コードのコピー
|
---|---|
<c1:C1FlexGrid x:Name="c1FlexGrid1" AutoGenerateColumns="False" ItemsSource="{Binding}" Margin="0" > <c1:C1FlexGrid.Columns> <c1:Column Header="半角カタカナ"> <c1:Column.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Column0, Mode=OneWay}" /> </DataTemplate> </c1:Column.CellTemplate> <c1:Column.CellEditingTemplate> <DataTemplate> <TextBox Text="{Binding Column0, Mode=TwoWay}" InputMethod.PreferredImeState="On" InputMethod.PreferredImeConversionMode="Native" /> </DataTemplate> </c1:Column.CellEditingTemplate> </c1:Column> <c1:Column x:Name="column2" Header="全角カタカナ" Binding="{Binding Column1}" /> <c1:Column x:Name="column3" Header="ひらがな" Binding="{Binding Column2}" /> <c1:Column x:Name="column4" Header="IME オフ" Binding="{Binding Column3}" /> </c1:C1FlexGrid.Columns> </c1:C1FlexGrid> |