WPFのDataGridコントロールでDataGridTextColumn
を使用しているときに、IMEを無効にしたい場合があります。
DataGridTextColumn
のプロパティを調べても、それらしいプロパティが見当たりません。
以下のように、IMEを無効にしたい列のDataGridTextColumn.EditingElementStyle
を指定することで、TextBox
のInputMethod.IsInputMethodEnabled
を設定することができ、IMEを無効にできます。
<DataGrid Name="grid">
<DataGrid.Columns>
<DataGridTextColumn Header="アイテム1"/>
<DataGridTextColumn Header="アイテム2"/>
<DataGridTextColumn Header="アイテム3" Width="*">
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox">
<Setter Property="InputMethod.IsInputMethodEnabled" Value="False"/>
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>