I want to bind the background of a window to some string property, such that I'll have a gradient background in different colors when the property changes:

```
<Window.Background>
    <LinearGradientBrush>
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="White" Offset="0"/>
            <GradientStop Color="{Binding Source={RelativeSource Mode=Self}, 
                                          Path=backgroud_color}" Offset="1"/>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
</Window.Background>

```

code behind:

```
public event PropertyChangedEventHandler PropertyChanged;

private string _backgroud_color;
public string backgroud_color
{
   get { return _backgroud_color; }
   set
   {
      _backgroud_color = value;
      OnPropertyChanged("backgroud_color");
   }
}

public void OnPropertyChanged(string property_name)
{
   if (PropertyChanged != null)
      PropertyChanged(this, new PropertyChangedEventArgs(property_name));
}

```

but the background does not change at all.
What is the problem?