Wpf 如何在所有xaml页面中隐藏/启用UserControl?

Wpf 如何在所有xaml页面中隐藏/启用UserControl?,wpf,xaml,user-controls,Wpf,Xaml,User Controls,我有一个用户控件。该用户控件具有一些功能。我在我的公共资源目录文件中调用了这个usercontrol。我将在所有页面中继承此资源目录页面。这将在我的所有页面中启用我的用户控制。我想要的是,我想要这个用户控件,用于我可以设置的特定页面。这是我的密码 资源目录文件: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="htt

我有一个用户控件。该用户控件具有一些功能。我在我的公共资源目录文件中调用了这个usercontrol。我将在所有页面中继承此资源目录页面。这将在我的所有页面中启用我的用户控制。我想要的是,我想要这个用户控件,用于我可以设置的特定页面。这是我的密码

资源目录文件:

 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:l="clr-namespace:UserControls">                   

<!-- Navigation AppBar -->

     <l:NavigationAppBarUserControl 
        Grid.Row="1" Grid.Column="0" Width="100"
        HorizontalAlignment="Left" Visibility="Visible" />

</ResourceDictionary>

Window1.xaml:

<src:WindowBase x:Class=""  
      xmlns:src="clr-namespace:ProjectOne"              
      Title="Window1">

   <Grid>
         //some functions...
   </Grid>
</src:WindowBase>

//一些功能。。。

这将启用我的用户控制。但是这个页面,我想隐藏我的用户控制。但不删除(src:WindowBase)。。如何在此处隐藏用户控件?任何帮助都将受到感谢。提前感谢..

在WindowBase类中创建Visibility类型的属性,并将UserControl的Visibility绑定到该属性

窗座

UC绑定


我希望这会有所帮助。

我已经有了一个windoebase类文件。我用了一些其他的东西。我无法使用您的windowbase public windowbase():this(Visibility.Visible){}code.public类windowbase:Window,InotifyProperty更改{//some func}我的意思是将此属性添加到您的windowbase类中,我不是要使用此属性。将UCVisibility属性添加到itI意味着在Window基类中创建UCVisibility属性
public class WindowBase : Window
{
    public WindowBase(Visibility ucVisibility)
    {
        UCVisibility = ucVisibility;
    }

    public WindowBase() : this(Visibility.Visible) { }

    public Visibility UCVisibility { get; set; }
    //other stuff
}
        <l:NavigationAppBarUserControl 
    Grid.Row="1" Grid.Column="0" Width="100"
    HorizontalAlignment="Left" 
        Visibility="{Binding UCVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" />
public partial class Window3 : WindowBase
{
    public Window3():base(Visibility.Collapsed)
    {
        InitializeComponent();
    }
}