[Input for WPF] C1NumericBoxで数値を入力後、コンテキストメニューから漢数字などの変換項目を選択すると例外が発生する

文書番号 : 80840     文書種別 : Bug
登録日 : 2014/06/11     最終更新日 : 2014/09/16

対象製品

Studio for WPF

ステータス

修正済み

詳細

C1NumericBoxにて数値(例えば"99")を入力後、コンテキストメニューを開くと、入力された半角数字に対する全角数字("99")や漢数字("九拾九")などの変換文字列がメニュー項目に含まれる場合があります。メニュー項目からこれらの変換項目を選択すると、例外が発生します。

回避方法

この問題はバージョン4.0.20142.413で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。

修正版を適用しない場合の回避方法は次の通りです。

C1NumericBoxの入力フィールド部分を構成するC1TextBoxBaseに対するコントロールテンプレートを作成し、その中で以下のようにコンテキストメニューを明示的に定義します。

◎サンプルコード(XAML)
<Setter Property="ContextMenu">
 <Setter.Value>
  <ContextMenu>
   <MenuItem Header="切り取り" Command="ApplicationCommands.Cut" />
   <MenuItem Header="コピー" Command="ApplicationCommands.Copy" />
   <MenuItem Header="貼り付け" Command="ApplicationCommands.Paste" />
  </ContextMenu>
 </Setter.Value>
</Setter>

その上でC1NumericBoxに対するコントロールテンプレートを作成し、入力フィールド部分にあたるC1TextBoxBaseに対して上記のコントロールテンプレートを割り当てます。