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

时间:2010-09-15 11:50:33

标签: wpf user-controls

我在Visual Studio中使用“WPF用户控件库”模板制作了一个项目。 该项目包含一个主要用户控件以及其他Windows / Usercontrols。

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

Thx全部
佛瑞德

3 个答案:

答案 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#字段修饰符是正确的。