title: Border With Uniform BorderThickness Fails to Bind BorderBrush Color
body: <p><strong>Minimal, Complete, Verifiable Example (.NET Framework 4.0+):</strong></p>
  
  <p>MainWindowViewModel.cs</p>
  
  <pre><code>namespace MCVBorderTest
  {
      public class MainWindowViewModel
      {
          public string BorderColor { get { return "Red"; } }
      }
  }
  </code></pre>
  
  <p>MainWindow.xaml</p>
  
  <pre><code>&lt;Window x:Class="MCVBorderTest.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;
      &lt;Border BorderThickness="1"&gt;
          &lt;Border.BorderBrush&gt;
              &lt;SolidColorBrush Color="{Binding BorderColor}" /&gt;
          &lt;/Border.BorderBrush&gt;
      &lt;/Border&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>MainWindow.xaml.cs</p>
  
  <pre><code>using System.Windows;
  
  namespace MCVBorderTest
  {
      /// &lt;summary&gt;
      /// Interaction logic for MainWindow.xaml
      /// &lt;/summary&gt;
      public partial class MainWindow : Window
      {
          public MainWindow()
          {
              InitializeComponent();
          }
      }
  }
  </code></pre>
  
  <p>App.xaml</p>
  
  <pre><code>&lt;Application x:Class="MCVBorderTest.App"
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
           xmlns:local="clr-namespace:MCVBorderTest"&gt;
  &lt;/Application&gt;
  </code></pre>
  
  <p>App.xaml.cs</p>
  
  <pre><code>using System.Windows;
  
  namespace MCVBorderTest
  {
      /// &lt;summary&gt;
      /// Interaction logic for App.xaml
      /// &lt;/summary&gt;
      public partial class App : Application
      {
          protected override void OnStartup(StartupEventArgs e)
          {
              new MainWindow() { DataContext = new MainWindowViewModel() }.Show();
          }
      }
  }
  </code></pre>
  
  <p>App.config</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;configuration&gt;
      &lt;startup&gt; 
          &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /&gt;
      &lt;/startup&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p><strong>Problem:</strong></p>
  
  <p>Running the application will result in a window opening but the border has no color.  The Debug output has this message:</p>
  
  <blockquote>
    <p>System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=BorderColor; DataItem=null; target element is 'SolidColorBrush' (HashCode=8990007); target property is 'Color' (type 'Color')</p>
  </blockquote>
  
  <p>Changing the BorderThickness to a non-uniform value, say 0,1,1,1, will result in the border receiving its expected color and no binding error in the Debug output.</p>
  
  <p><strong>Question:</strong></p>
  
  <p>Why does the BorderBrush's Color binding behave this way?</p>