У меня есть TextBox
в окне WPF, привязанном к свойству зависимости окна типа double
(см. Ниже). Всякий раз, когда пользователь вводит TextBox
, когда
-
TextBox
пусто или
- Весь текст выделен,
набранный текст принят неверно. Например: если я введу «5» в любом из этих сценариев, получающийся текст будет «$ 5,00», но курсор будет расположен перед «5», после «$». Если я пытаюсь ввести «52,1», я получаю «2,15,00 долл. США».
<Window x:Class="WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="154" Width="240" Name="ThisWindow"
Background="{StaticResource {x:Static SystemColors.AppWorkspaceBrushKey}}">
<Grid>
<TextBox Text="{Binding ElementName=ThisWindow,
Path=Amount,
StringFormat={}{0:c},
UpdateSourceTrigger=PropertyChanged}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
MinWidth="100" />
</Grid>
</Window>
Если я удаляю атрибут UpdateSourceTrigger, он печатается правильно, но не поддерживает формат валюты.
Есть идеи?