Добавьте DependencyProperty в свой UserControl. В XAML вашего основного окна свяжите с DependencyProperty. В XAML вашего UserControl свяжите с тем же DependencyProperty, используя RelativeSource FindAncestor
.
Например, если ваш UserControl называется «MyUserControl» и имеет DependencyProperty «ShowDetails», привязка в основном XAML будет:
<Window ...>
...
<local:MyUserControl ShowDetails="{Binding IsChecked,ElementName=checkBox}" />
...
<CheckBox x:Name=checkBox Content="Show Details" />
...
</Window>
и в XAML UserControl это будет:
<UserControl ...>
...
<Textbox ...
Visibility="{Binding ShowDetails,
RelativeSource={RelativeSource FindAncestor,local:MyUserControl,1},
Converter={StaticResource BoolToVisibiltyConverter}" />
...
</UserControl>
Еще лучше, используйте шаблон MVVM. В этом случае вы должны поместить DependencyProperty в вашу ViewModel, которая будет доступна через DataContext как вашего главного окна, так и вашего UserControl. С MVVM нет необходимости использовать FindAncestor или ElementName, потому что и CheckBox, и TextBox привязываются непосредственно к свойству в ViewModel:
<Window ...>
<local:MyUserControl />
...
<CheckBox IsChecked="{Binding ShowDetails}" Content="Show Details" />
</Window>
с этим UserControl:
<UserControl>
...
<TextBox ...
Visibility="{Binding ShowDetails,
Converter={StaticResource BoolToVisibiltyConverter}" />
...
</UserControl>