d:IsControlPart属性在Expression Blend中有什么作用?

问题描述 投票:3回答:1

在Expression Blend 4中,简单样式使用以下XML命名空间:

http://schemas.microsoft.com/expression/interactivedesigner/2006

它经常使用来自此命名空间的名为IsControlPart的属性,它是一个布尔值。我已广泛搜索,无法找到有关此属性的任何实际文档。

wpf expression-blend
1个回答
2
投票

我想我明白了。

当WPF为其控件创建默认模板时,它会使用前缀“PART”命名一些元素。例如,使用Slider控件,它有两个部分,PART_Track和PART_SelectionRange。这本身与Expression Blend无关。

这些部件是控制器基本功能所必需的。大多数简单的控件,如Button,没有任何部件,因此可以完全自定义,而不受任何限制。

更复杂的控件依赖于存在的部件,以使代码隐藏正常工作。它不关心控件的外观,或者它们在可视化树中的位置,只要它们存在并且属于正确的类型。

在Expression Blend中,有一个“部件”窗口,默认情况下是“项目”和“资产”选项卡旁边的选项卡。在为控件编辑模板时,如果为该控件定义了任何部件,则会在此“部件”窗口中列出它们。如果该部分存在于当前模板中,则显示复选标记,如果不存在,则可以双击它,Blend将为您创建元素。

我仍然不确定d:IsControlPart属性是如何工作的。我尝试创建自己的自定义Control并使用IsControlPart标记创建元素,然后为该控件创建一个模板以查看它是否会列出该部件。它没有。所以这仍然没有100%回答。

© www.soinside.com 2019 - 2024. All rights reserved.