首页 文章

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

提问于
浏览
11

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

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

大家好
弗雷德

3 回答

  • 0

    使这些控件内部化 . 如果你有XAML和代码隐藏的经典UserControls,你需要将 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>
    
  • 26

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

  • 0

    我相信 x:ClassModifier="internal" 将使整个用户控制内部 . 这可能是不可取的 .

    相反,如果将 x:FieldModifier="private" 添加到用户控件中不希望 UserControl 使用者可访问的那些控件,则生成的C#将这些控件设置为私有 . 注意使用小写字母,这对于C#字段修饰符是正确的 .

相关问题