@TextBox com CurrencyFormat e o acionador PropertyChanged não aceita o texto à direita

Eu tenho umTextBox em uma janela WPF vinculada a uma propriedade de dependência da janela do tipodouble (ver abaixo). Sempre que o usuário digita oTextBox quand

OTextBox está vazio ou Todo o texto está selecionado,

o texto digitado é aceito incorretamente. Por exemplo: Se eu digitar um '5' em um desses cenários, o texto resultante será "$ 5,00", mas o sinal de intercalação estará localizado antes do '5', após o '!$7$!#39;. Se eu tentar digitar "52.1", recebo "$ 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>

Se eu remover o atributo UpdateSourceTrigger, ele digitará corretamente, mas não manterá o formato da moed

Alguma ideia

questionAnswers(2)

yourAnswerToTheQuestion