私はWPFアプリケーションで奇妙な問題があります。ユーザーは、少なくとも1行の請求書をDataGridに入力することになっています。 1つのフィールドには金額が含まれているので、i,ff
のようになります。つまり、少なくとも1桁の数字とカンマ(ヨーロッパにある)と2桁の小数点のある整数部分です。WPFフォームで金額を編集する
ユーザーがフィールドにピントを合わせると、積分部分を上書きすることができ、コンマは固定され、小数部分も上書きすることができます。したがって、ユーザーは積分部分を入力してから、カーソルを右に移動してカンマをスキップし、量の小数部分を入力する必要があります。
この動作は、会計士であり、一度にすべての金額を入力するために使用されたため、ユーザーから批判されています。だから私の質問です:フィールド全体を上書き可能にする方法はありますか?ここで
は、DataGrid列のためのXAMLです:
<DataGridTextColumn x:Name="colBetBtto"
Header="Brutto"
HeaderStyle="{StaticResource DataGridHeaderRightAligned}"
Width="*"
CellStyle="{StaticResource DataGridCellRightAligned}"
Binding="{Binding Path=BttoBetrag, Mode=TwoWay, StringFormat=N2, UpdateSourceTrigger=PropertyChanged}">
</DataGridTextColumn>
セルスタイルは次のとおりです。
<Style x:Key="DataGridCellRightAligned" TargetType="DataGridCell">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="TextBlock.TextAlignment" Value="Right" />
<Setter Property="Padding" Value="0,0,1,0" />
</Style>
任意のアイデアは、その行動を引き起こすもの?
MM8あなたの助けのためにもう一度ありがとうございました。あなたの提案された解決策は編集中にカンマがなくなったが、値を編集するためにユーザがセルを2回クリックしなければならないように機能します。私が必要とするのは、タブシーケンスやシングルクリックでセル全体の値が選択され、変更できることです。 –
私の編集をご覧ください。しかし、別の問題がある場合は、新しい質問をしてください。 – mm8
申し訳ありませんmm8、これはまだ同じ問題です。私が期待しているのは、ユーザーがタブをクリックするか、列フィールドをクリックすることです。それから**全体**の内容が強調表示され、ユーザーは数字、カンマ、そして前の内容を上書きする数字を入力することができます。私の元のバージョンでは、小数点までの量の整数部分(つまりコンマ)のみが選択されていました。あなたの提案では、コンマはありません(テキストボックスにはCellEditingTemplateにフォーマットがありません)が、セルの内容は選択されていません。編集するには、ユーザがダブルクリックするか削除する必要があります。 –