在WPF用户控件库中隐藏控件

在WPF用户控件库中隐藏控件,wpf,user-controls,Wpf,User Controls,我有一个在VisualStudio中使用“WPF用户控制库”模板制作的项目。 此项目包含一个主用户控件和其他Windows/usercontrol 我如何“隐藏”这些额外的窗口/用户控件,以便用户只能从程序集中导入主用户控件(我想用屏幕截图来说明我的问题,但不幸的是,我的“声誉”太低了!) Thx All Fred也许使用属性可以解决您的问题。ComponentModel命名空间中有一个属性“DesignTimeVisible”。如果将此类属性放在类实现的正上方并将其设置为false,则相应的控

我有一个在VisualStudio中使用“WPF用户控制库”模板制作的项目。 此项目包含一个主用户控件和其他Windows/usercontrol

我如何“隐藏”这些额外的窗口/用户控件,以便用户只能从程序集中导入主用户控件(我想用屏幕截图来说明我的问题,但不幸的是,我的“声誉”太低了!)

Thx All

Fred

也许使用属性可以解决您的问题。ComponentModel命名空间中有一个属性“DesignTimeVisible”。如果将此类属性放在类实现的正上方并将其设置为false,则相应的控件在设计器工具箱中不应可见。

将这些控件设置为内部控件。如果您有带有XAML和codebehind的classic UserControl,则需要将
x:ClassModifier=“internal”
添加到XAML中的根元素:

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="MyNameSpace.MyUserControl"
    x:ClassModifier="internal">
       <!-- bla -->
</UserControl>

我相信
x:ClassModifier=“internal”
将使整个用户控件成为内部控件。这可能不可取


相反,如果您将
x:FieldModifier=“private”
添加到用户控件中您不希望
UserControl
使用者访问的控件中,则生成的C#将这些控件作为private。请注意,对于C#字段修饰符,使用小写是正确的

我认为@rdkleine的意思是
内部
,而不是
受保护
。一定是那些VB项目让我头疼;)这很有魅力!!太多了!。另外,在.cs文件中,我必须像这样声明类:内部部分类。。。又来了!