在 Expression Blend 4 中,简单样式使用以下 XML 命名空间:
http://schemas.microsoft.com/expression/interactivedesigner/2006
它经常使用此命名空间中名为 IsControlPart 的属性,这是一个 bool 值。我在谷歌上进行了大量搜索,但找不到关于此属性的任何实际文档。
最佳答案
我想我明白了。
当 WPF 创建其控件的默认模板时,它会用前缀“PART”命名一些元素。例如,对于 Slider 控件,它有两个部分,PART_Track 和 PART_SelectionRange。这本身与 Expression Blend 无关。
这些部分是控件基本功能所必需的。大多数简单的控件,如按钮,没有任何部件,因此可以不受任何限制地完全自定义。
更复杂的控件依赖于存在的部分,以便代码隐藏能够正常工作。它不关心控件的外观或它们在可视化树中的位置,只要它们存在并且类型正确即可。
在 Expression Blend 中,有一个“部件”窗口,默认情况下它是“项目”和“ Assets ”选项卡旁边的一个选项卡。当您编辑控件的模板时,如果为该控件定义了任何部件,它会在此部件窗口中列出它们。如果该部分存在于当前模板中,它会显示一个复选标记,如果不存在,您可以双击它,Blend 将为您创建该元素。
我仍然不确定 d:IsControlPart 属性的确切工作原理。我尝试制作自己的自定义控件并使用 IsControlPart 标记创建一个元素,然后为该控件创建一个模板以查看它是否会列出该部件。它没有。所以这仍然不是 100% 的答案。
关于wpf - d :IsControlPart attribute do in Expression Blend? 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641386/