Modificando os parâmetros da vinculação de texto de uma caixa de texto através do uso de um estilo

Gostaria de ter umTextBox que exibe um número no formato de moeda (configurandoStringFormat=c na encadernação). Quando oTextBox está selecionado (quandoIsKeyboardFocused==true), Gostaria que a formatação desaparecesse até o foco noTextBox está perdido

Eu encontrei uma maneira de fazer isso, código colado abaixo. Meu problema com isso é que a ligação é especificada dentro doStyle - isso significa que preciso redigitar o estilo para cadaTextBox Eu quero fazer isso por. Idealmente, gostaria de colocar o estilo em algum lugar central e reutilizá-lo para todos osTextBox, com um destino de ligação diferente para cada u

Existe uma maneira para mim, usando umStyle, para definir um parâmetro na ligação existente, algo comoText.Binding.StringFormat=""? (Ao contrário de definir o valor inteiro do texto como uma ligação recém-definida)

Outras sugestões para isso também serão apreciada

Code (isso funciona, é apenas inconveniente):

<TextBox x:Name="ContractAmountTextBox">
<TextBox.Style>
    <Style TargetType="{x:Type TextBox}">                                       
        <Style.Triggers>
            <DataTrigger Binding="{Binding IsKeyboardFocused, ElementName=ContractAmountTextBox}" Value="False">
                <Setter Property="Text" Value="{Binding Path=ContractAmount, UpdateSourceTrigger=LostFocus, StringFormat=c}"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding IsKeyboardFocused, ElementName=ContractAmountTextBox}" Value="True">
                <Setter Property="Text" Value="{Binding Path=ContractAmount, UpdateSourceTrigger=LostFocus}"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</TextBox.Style>

questionAnswers(1)

yourAnswerToTheQuestion