Create DenedencyProperty
in UserControl
:
public static DependencyProperty ButtonVisibilityProperty = DependencyProperty.Register("ButtonVisibility", typeof(Visibility), typeof(MyUserControl), null);
public Visibility ButtonVisibility
{
get { return (Visibility)GetValue(ButtonVisibilityProperty); }
set { SetValue(ButtonVisibilityProperty, value); }
}
bind it to Button.Visibility
:
<Button
Visibility="{Binding ElementName=userControl, Path=ButtonVisibility}"
Content="Button"
x:Name="button"/>
assuming that UserControl
has a x:Name="userControl"
<UserControl ... x:Name="userControl">
you should be able to control Visibility
of a Button
from outside like so:
<local:MyUserControl ButtonVisibility="Collapsed"/>