title: How do I bind combobox text to legacy data not in the drop down list?
body: <p>The drop-down list (itemssource) of my combobox contains new product request items. <strong>I want to bind to legacy data that is not in the drop-down list.</strong> To complicate things I'm using multibinding with an IMultiValueConverter to combine fields for display. Also, the names of bound fields do not match the names of the properties I'm bound to.</p>
  
  <p>The combobox itemssource is a list of NewProductRequests. From this NPR object NewProdNumber and NewProdName are combined for display in the drop-down list by my type converter. The ConvertBack method returns the values NewProdNumber and NewProdNumberCombinedWithName. These two values will be saved to database fields with slightly different names. For this example I'll call them DBProdRequestNumber and DBProdRequestTitle.</p>
  
  <p>I've succeeded in displaying and saving new items. <strong>The problem is I haven't figured out how to display legacy data that is not in the list</strong>. It's not in the list because it no longer qualifies as a <em>new</em> product request.</p>
  
  <p>Here is the problem XAML (the itemssource is set in code-behind):</p>
  
  <pre><code>&lt;ComboBox x:Name="NPRComboBox" IsSynchronizedWithCurrentItem="False" IsEditable="False"&gt;
      &lt;ComboBox.SelectedItem&gt;
          &lt;MultiBinding Converter="{StaticResource combineNPRStuffMultiConverter}"&gt;
              &lt;Binding Path="DBProdRequestNumber" UpdateSourceTrigger="PropertyChanged"/&gt;
              &lt;Binding Path="DBProdRequestTitle" UpdateSourceTrigger="PropertyChanged"/&gt;
          &lt;/MultiBinding&gt;
      &lt;/ComboBox.SelectedItem&gt;
      &lt;ComboBox.ItemTemplate&gt;
          &lt;DataTemplate&gt;
              &lt;TextBlock DataContext="{Binding}"&gt;
                  &lt;TextBlock.Text&gt;
                      &lt;MultiBinding  Converter="{StaticResource combineNPRStuffMultiConverter}"&gt;                             
                          &lt;Binding Path="NewProdNumber" UpdateSourceTrigger="PropertyChanged"/&gt;                              
                          &lt;Binding Path="NewProdNumberCombinedWithName" UpdateSourceTrigger="PropertyChanged"/&gt;
                      &lt;/MultiBinding&gt;
                  &lt;/TextBlock.Text&gt;
              &lt;/TextBlock&gt;
          &lt;/DataTemplate&gt;
      &lt;/ComboBox.ItemTemplate&gt;
  &lt;/ComboBox&gt;
  </code></pre>
  
  <p>A similar problem with a datagrid and combobox I solved using a DataGridTemplateColumn.CellEditingTemplate based on <a href="http://msdn.microsoft.com/en-us/magazine/gg983481.aspx" rel="nofollow">this MSDN Magazine example</a> from Julie Lerman. Of course, in this case I'm not using a datagrid. </p>
  
  <p>Thanks in advance for any help.</p>