title: Binding UpdateSourceTrigger=Explicit, updates source at program startup
body: <p>I have following code:</p>
  
  <pre><code>&lt;Window x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Window1" Height="300" Width="300"&gt;
  &lt;Grid&gt;
      &lt;TextBox Text="{Binding Path=Name, 
                              Mode=OneWayToSource, 
                              UpdateSourceTrigger=Explicit, 
                              FallbackValue=default text}" 
               KeyUp="TextBox_KeyUp" 
               x:Name="textBox1"/&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p></p>
  
  <pre><code>    public partial class Window1 : Window
  {
      public Window1()
      {
          InitializeComponent();
      }
  
      private void TextBox_KeyUp(object sender, KeyEventArgs e)
      {
          if (e.Key == Key.Enter)
          {
              BindingExpression exp = this.textBox1.GetBindingExpression(TextBox.TextProperty);
              exp.UpdateSource();
          }
      }
  }
  
  
  
      public class ViewModel
  {
      public string Name
      {
          set
          {
              Debug.WriteLine("setting name: " + value);
          }
      }
  }
  
  
  
      public partial class App : Application
  {
      protected override void OnStartup(StartupEventArgs e)
      {
          base.OnStartup(e);
  
          Window1 window = new Window1();
          window.DataContext = new ViewModel();
          window.Show();
      }
  }
  </code></pre>
  
  <p>I want to update source only when "Enter" key is pressed in textbox. This works fine. However binding updates source at program startup. How can I avoid this? Am I missing something?</p>