テキストが整数(たとえば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. C#WPFバインディングの振る舞い
- 3. 異なる振る舞い
- 4. 異なる振る舞い
- 5. 奇妙なfacebookのようなウィジェットカウンタの振る舞い
- 6. Kivy:オーバーフローのような振る舞いをする方法:hidden
- 7. Python-Djangoでの彗星のような振る舞い
- 8. 静的リンクライブラリのdlsymのような振る舞い
- 9. コンボボックスのような振る舞いを持つカスタムコンポーネント
- 10. カスタムページングのような振る舞いを持つUITableView
- 11. UIViewレイアウトの振る舞い
- 12. mysql_insert_id()の振る舞い
- 13. POSIXシグナルの振る舞い
- 14. リストポインティングの振る舞いpython
- 15. Cビットシフトの振る舞い
- 16. GLSLブランチの振る舞い
- 17. htmlコードの振る舞い
- 18. datavalidation/CakePhpの振る舞い
- 19. strange ArrayBufferの振る舞い
- 20. WCF IErrorHandler.ProvideFault()の振る舞い
- 21. emacsリストバッファの振る舞い
- 22. jQuery slideToggleの振る舞い
- 23. イメージマージンの振る舞い
- 24. 奇妙なRubyの振る舞い
- 25. 奇妙なCoutの振る舞い
- 26. int/counterの奇妙な振る舞い
- 27. std :: stringの奇妙な振る舞い
- 28. 奇妙なjspの振る舞い
- 29. array_keysの奇妙な振る舞い
- 30. コンストラクタでの奇妙な振る舞い
ありがとう、ありがとうございます!ちょうど1つのこと、あなたは "、"から "千"の桁区切りをどのように変更できるのか知っていますか?直接xamlセッター式で? StackOverFlow Community、あなたは素晴らしいです:) –
@GiacomoTagliabue 'StringFormat'の代わりに' Converter'を使わなければならないかもしれません。コンマをドットで '.Replace()'してください。 – Rachel
ありがとうございます。私は 'Converter'を使用したくありませんでしたが、この場合は唯一の可能性があります。 –