我在Visual Studio中使用“WPF用户控件库”模板制作了一个项目。 该项目包含一个主要用户控件以及其他Windows / Usercontrols。
如何“隐藏”这些额外的Windows / Usercontrols,以便用户只能从程序集中导入主用户控件(我想用屏幕截图来说明我的问题但不幸的是,我的“声誉”也是如此低!)。
Thx全部
佛瑞德
答案 0 :(得分:26)
将这些控件设为内部。如果您使用XAML和代码隐藏的经典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>
答案 1 :(得分:0)
使用属性可能会解决您的问题。 ComponentModel命名空间中有一个属性“DesignTimeVisible”。如果将这样的属性放在类实现的正上方并将其设置为false,则相应的控件不应在设计器工具箱中可见。
答案 2 :(得分:0)
我相信x:ClassModifier="internal"
会使整个用户控制内部。这可能是不可取的。
相反,如果您将x:FieldModifier="private"
添加到用户控件中的那些您不希望UserControl
消费者可访问的控件,则生成的C#将这些控件设置为私有。注意使用小写字母,这对于C#字段修饰符是正确的。