私が本当にやりたいことはStringFormat
、 の特定のバインディングの を変更することDataGridTextColumn
ですが、それはバインディングによって定義されているため、バインディング全体をどうにかして変更する必要があると思います。
a の使用を避けたい理由DataGridTemplateColumn
は、DataGridTextColumn にはいくつかの組み込みの基本機能があるように思われるためです。これらの機能を失うと、次のように手動で処理するコードを作成する必要があります。
- セルを自動的に編集モードにする非編集モード セルへの入力を開始する機能
- データのコピーと貼り付け (DataGrid 内および Excel から)
現在のバインド (必要な表示/読み取りモードのバインド)
Binding="{Binding ADecimalNumber StringFormat={StaticResource ReadDecimalFormat}}"
必要な編集モードのバインディング
Binding="{Binding ADecimalNumber StringFormat={StaticResource WriteDecimalFormat}}"
参考までに、ReadDecimalFormat
は 2 桁の精度でWriteDecimalFormat
10 進数値を表示し、 は入力された元の 10 進数値を表示します (すべての桁の精度、ほとんどの場合、これは 4 桁です)。