我有一个在Visual Studio中由“WPF用户控件库”模板制作的项目。 该项目包含一个主要的用户控制加上额外的Windows/Usercontrols。我怎么能“隐藏”这些额外的Windows /用户控件,以便用户只能从程序集导入主用户控件(我想用屏幕截图来说明我的问题,但不幸的是,我的“声誉”是太低!)。在WPF用户控件库中隐藏控件
THX所有
弗雷德
我有一个在Visual Studio中由“WPF用户控件库”模板制作的项目。 该项目包含一个主要的用户控制加上额外的Windows/Usercontrols。我怎么能“隐藏”这些额外的Windows /用户控件,以便用户只能从程序集导入主用户控件(我想用屏幕截图来说明我的问题,但不幸的是,我的“声誉”是太低!)。在WPF用户控件库中隐藏控件
THX所有
弗雷德
使这些控制内部。如果你有经典的用户控件与XAML代码隐藏和你将需要添加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>
这工程像一个魅力!多谢!。 另外,在.cs文件中,我不得不这样声明类: 内部部分类... Thx又一次! – Fred 2010-09-17 11:59:41
也许属性的使用将解决您的问题。 ComponentModel命名空间内有一个属性“DesignTimeVisible”。如果您将这样的属性放在类实现的上方并将其设置为false,则相应的控件不应在设计器工具箱中可见。
我相信x:ClassModifier="internal"
将使整个用户控件内部。这可能不合意。
相反,如果您将x:FieldModifier="private"
添加到用户控件中的那些不希望UserControl
使用者可访问的控件中,则生成的C#将使这些控件为私有控件。请注意,对于C#字段修饰符,使用小写字母是正确的。
试图让他们受到保护? – 2010-09-15 11:52:30
我认为@rdkleine意思是“内部”而不是“受保护”。 – 2010-09-15 11:54:05
确实。必须是那些VB项目与我的头拧;) – 2010-09-15 11:58:13