Как предотвратить обновление сфокусированного TextBox
Я работаю над простой программой конвертации валют WPF, которая должна конвертировать доллары в евро и наоборот. Я использую IValueConverter для буксировки TextBoxes на одном свойстве. Это работает, однако всякий раз, когда я изменяю одно текстовое поле, оно преобразует другое, а затем преобразует это значение обратно в исходное текстовое поле. Как предотвратить обновление источника используемого / сфокусированного TextBox?
MainWindow.xaml
<TextBox Name="tbDollar" Grid.Row="0" Grid.Column="1" Width="200" Height="20" Text="{Binding Price, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource converterToDollar}}"></TextBox>
<TextBox Name="tbEuro" Grid.Row="1" Grid.Column="1" Width="200" Height="20" Text="{Binding Price, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource converterToEuro}}"></TextBox>
EuroToDollarConverter.cs
public object Convert(object value,Type targetType,object parameter,System.Globalization.CultureInfo culture) {
double price;
if(value!=null && Double.TryParse((string)value, out price)) return price*1.137;
return null;
}
Визуальный пример:
Я пытался найти решение, включающее System.Windows.Input.FocusManager, но не совсем понял, как я могу получить контрольный объект внутри метода convert.