TextBox с триггером CurrencyFormat и PropertyChanged не принимает текстовое право
у меня есть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, он печатается правильно, но не поддерживает формат валюты.
Есть идеи?