I have a class (not the ViewModel) which has a property that determines the Visibility of a button. I have included the class in the UserControl's Resources 

```
<UserControl.Resources>
     <helpers:DialogLayoutConfigInfo x:Key="DialogConfigInfo"/>
     <BooleanToVisibilityConverter x:Key="BoolToVis" />
</UserControl.Resources>

```

I have the button's visibility bound to a property in "DialogLayoutConfigInfo" class. 

```
private bool isButtonVisible;
public bool IsButtonVisible
{
   get { return isButtonVisible; }
   set { isButtonVisible= value; OnPropertyChanged("IsButtonVisible"); }
}

<Button Visibility="{Binding Source={StaticResource DialogConfigInfo}, 
Path=IsButtonVisible, Converter={StaticResource BoolToVis}}">

```

If I update the property "IsButtonVisible" in the constructor of "DialogLayoutConfigInfo" class, the Visibility is updated. But when the constructor is called, I don't have the XML file (which is used to get the information to set the property). So I call a function that updates the property later. Why isn't the visibility getting updated if I set it in the function? 

The function that sets the property is called from my View's code behind.