title: Bind a property to another property in C#
body: <p>I have a Class named <code>Grid</code>, it is composed of two other classes <code>Circle</code> and <code>Line</code>.</p>
  
  <pre><code>public class Grid
  {
      public Circle Circle {get; set;}
      public Line Line {get; set;}
  }
  </code></pre>
  
  <p>I want the geometry of <code>Line</code> to stay connected to the geometry of the <code>Circle</code>. That means when I drag or move the <code>Circle</code>. I want the <code>Line</code> to be notified somehow and updated its geometry according to the new location of the <code>Circle</code>.</p>
  
  <p>Of course I can always create a new <code>Grid</code> with the updated geometries of the <code>Circle</code> and <code>Line</code>, but I do not want to create a new <code>Grid</code>. I just want to somehow bind the end-points of the <code>Line</code> to for example <code>Circle</code>'s center.</p>
  
  <p>What technologies in C# allows me to do this? delegates? inotifypropertychanged?</p>