En primer lugar es necesario crear explícita de unión:
Binding binding = new Binding("Content");
binding.Source = source;
binding.UpdateSourceTrigger = UpdateSourceTrigger.LostFocus;
binding.Mode = BindingMode.TwoWay;
txtContent.SetBinding(TextBox.TextProperty, binding);
A continuación, cuando se necesita hacer una pausa en la unión que necesita destruir antigua unión y crear la unión con el disparador explícita (en este caso la nueva unidireccional de dos vías que origen de enlace no se actualizará cuando alguna propiedad ha sido cambiado):
BindingOperations.ClearBinding(txtContent, TextBlock.TextProperty);
Binding binding = new Binding("Content");
binding.Source = source;
binding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit;
binding.Mode = BindingMode.OneWay;
txtContent.SetBinding(TextBox.TextProperty, binding);
cuando tenga que volver a la unión de dos vías que pueden fuente de actualización explícita (si lo necesita) que dest roy unidireccional y crea una unión twoway.
BindingExpression be = txtContent.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();
BindingOperations.ClearBinding(txtContent, TextBlock.TextProperty);
Binding binding = new Binding("Content");
binding.Source = source;
binding.UpdateSourceTrigger = UpdateSourceTrigger.LostFocus;
binding.Mode = BindingMode.TwoWay;
txtContent.SetBinding(TextBox.TextProperty, binding);
¿Puede mostrar cómo vincula valores a un control? ¿Lo haces directo en xaml o en código? –