テキストが整数(たとえば123456789)をバインドする電子テキストボックスを作成したいが、1000個の区切り文字(たとえば123.456.789)が表示されますが、編集用のテキストボックスを選択すると、区切り、テキストボックスがフォーカスを失うまで、Excelと同じように。何かアドバイス?ありがとうございました!Excelのような振る舞いwpf textbox
1
A
答えて
2
利用のTextBoxはまた、あなたは簡単にStringFormatで書式を設定することができない場合の書式設定のためのコンバータを使用することができます
<Style TargetType="{x:Type TextBox}">
<Setter Property="Text" Value="{Binding SomeValue, StringFormat=N2}" />
<Style.Triggers>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="Text" Value="{Binding SomeValue}" />
</Trigger>
</Style.Triggers>
</Style>
が選択されていない場合は、値をフォーマットトリガー
0
一つの可能性:
IsFocusedにトリガーを作成するスタイルを追加します。 トリガーで、別のフォーマットを持つ新しいテンプレートを設定します。
<Grid>
<Grid.Resources>
<System:Double x:Key="boundDouble">1000</System:Double>
<System:Double x:Key="boundDouble2">2000</System:Double>
</Grid.Resources>
<TextBox Width="100" Height="30">
<TextBox.Text>
<Binding Source="{StaticResource boundDouble}" Path="." StringFormat="{}{0:F3}" />
</TextBox.Text>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<TextBox>
<TextBox.Text>
<Binding Source="{StaticResource boundDouble}" Path="." StringFormat="{}{0:F5}" />
</TextBox.Text>
</TextBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
関連する問題
- 1. C#TextBox readonlyは無効のように振る舞います
- 2. WPF OpacityMask奇妙な振る舞い
- 3. Excel ListBox奇妙な振る舞い
- 4. Labviewのような振る舞い
- 5. C#WPFバインディングの振る舞い
- 6. 異なる振る舞い
- 7. 異なる振る舞い
- 8. WPF XAML奇妙な列幅の振る舞い
- 9. 奇妙なfacebookのようなウィジェットカウンタの振る舞い
- 10. 奇妙な振る舞い
- 11. Kivy:オーバーフローのような振る舞いをする方法:hidden
- 12. ツールのような振る舞い:カスタム表示のテキスト?
- 13. フラグメントのようなアクティビティバックスタックの振る舞い
- 14. Python-Djangoでの彗星のような振る舞い
- 15. 静的リンクライブラリのdlsymのような振る舞い
- 16. 1つのクロージャーでゲッターとセッターのような振る舞い
- 17. Dropboxのような振る舞いを持つStatusBarIcon
- 18. カスタムページングのような振る舞いを持つUITableView
- 19. コンボボックスのような振る舞いを持つカスタムコンポーネント
- 20. WPF DataGridハイパーリンクの外観と振る舞い
- 21. datavalidation/CakePhpの振る舞い
- 22. 序数の振る舞い
- 23. リストポインティングの振る舞いpython
- 24. htmlコードの振る舞い
- 25. POSIXシグナルの振る舞い
- 26. DSE Solr:CopyFieldの振る舞い
- 27. ジャスミンサービスの振る舞い
- 28. バックボーンイベントの振る舞い
- 29. RowNumの振る舞い
- 30. CSSグリッドの振る舞い
ありがとう、ありがとうございます!ちょうど1つのこと、あなたは "、"から "千"の桁区切りをどのように変更できるのか知っていますか?直接xamlセッター式で? StackOverFlow Community、あなたは素晴らしいです:) –
@GiacomoTagliabue 'StringFormat'の代わりに' Converter'を使わなければならないかもしれません。コンマをドットで '.Replace()'してください。 – Rachel
ありがとうございます。私は 'Converter'を使用したくありませんでしたが、この場合は唯一の可能性があります。 –