仅设计时控件,或在哪里可以找到“ d”名称空间的定义?

时间:2018-08-30 02:39:48

标签: wpf xaml

我只需要在[VS 2017]设计器中显示某个WPF控件,而不是在运行时显示。 (具体来说,是用来布置组件的背景图像。)

As I learned,可以使用未记录的d:IsHidden="true"属性从默认情况下通常包含的命名空间中获得相反的效果(在设计时隐藏控件):

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
mc:Ignorable="d"

another featured:DesignStyle具有设计时风格。

但是我找不到类似d:Visible之类的东西。

因此,是否有任何简单方法具有仅设计时组件,类似于具有特殊的“ d”属性?我最好不要使用自定义代码,因为至少有一个琐碎(但很烦人)的解决方案:只需在编译前注释掉组件即可!

理想情况下,应在运行时禁用/删除整个组件,以免占用任何资源。

更笼统地说,有没有办法找到d名称空间的所有这些“未记录”功能?

2 个答案:

答案 0 :(得分:2)

您可以在InitializeComponent()调用之后将其放在Window或UserControl构造函数中:

android:layout...

这样做还可以在运行时重新打开控件,我经常发现这对于调试工具或诊断很有用。

答案 1 :(得分:1)

'd'既不神奇也不官方。它是xml名称空间的别名,该名称空间是在xaml / XML文件中本地定义的。

此行在问题代码中定义d:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

因此,要查找有关此名称空间的“功能”的信息,应该有此名称空间中所有类的列表。它们大多数都在Microsoft Expression Blend SDK中:https://www.microsoft.com/en-us/download/details.aspx?id=22829