title: How to set the sources in this multibinding example?
body: <p>I have 2 classes like this:</p>
  
  <pre><code>public MyClass1: INotifyValueChanged
  {
      public Dictionary&lt;int, Color&gt; Property1 
      { 
          public event PropertyChangedEventHandler PropertyChanged;
  
          get
          { 
               return this.property1
          }
          set
          {
               PropertyChanged.ChangeAndNotify(ref this.property1, value, () =&gt; Property1);
          }
      }
  }
  
  public MyClass2: INotifyValueChanged
  {
      public event PropertyChangedEventHandler PropertyChanged;
  
      public int Property2
      {   get
          { 
               return this.property2
          }
          set
          {
               PropertyChanged.ChangeAndNotify(ref this.property2, value, () =&gt; Property2);
          }
      }
  }
  </code></pre>
  
  <p>ChangeAndNotify is an extension method I use instead of the normal syntax to notify a property changed bevause this way I dont need to type the name of the property being changed as a string, so I think it's not relevant for the problem. If need I'll post it.</p>
  
  <p>I want to bind MyClass2.Property2 to an Rectangle.Fill. </p>
  
  <p>To do this I have to create an IMultiValueConverter that will look for Property2 on the Dictionary of Property1 and return it's color. </p>
  
  <p>In my XAML I created an entry to my converter class:</p>
  
  <pre><code>&lt;local:MaterialConverter x:Key="MaterialsConverter" /&gt;
  </code></pre>
  
  <p>Then I tried to multibind the Rectangle:</p>
  
  <pre><code>&lt;Rectangle&gt;
      &lt;Rectangle.Fill&gt;
          &lt;SolidColorBrush&gt;
              &lt;SolidColorBrush.Color&gt;
                  &lt;MultiBinding Converter="{StaticResource MaterialsConverter}"&gt;
                      &lt;Binding Path=Property1 /&gt;
                      &lt;Binding Path=Property2 /&gt;
                  &lt;/MultiBinding&gt;
              &lt;/SolidColorBrush.Color&gt;
          &lt;/SolidColorBrush&gt;
       &lt;Rectangle.Fill/&gt;
  &lt;/Rectangle&gt;
  </code></pre>
  
  <p>On the form code I have 2 variables of these 2 classes: classObj1 and classObj2 respectively.</p>
  
  <p>After initialise and setup them I do this to bind:</p>
  
  <pre><code>rectangle.DataContext = class1Obj;
  </code></pre>
  
  <p>Of course it doesn't work because it's a multibinding and I have specified only 1 element in DataContext and I got an error saying that Property2 does not exist on MyClass1.</p>
  
  <p>I don't think I can set 2 DataContexts to an object, but I could somehow set the Source property of one of the 2 bindings in the XAML, so one binding would come from the DataContext of the rectangle and the other would come from this another place. But where could I put the class2Obj or how?</p>