2013-02-07 53 views
0

当我在用户控件的根的资源中声明样式时,它将应用于该XAML文件中目标类型的所有控件。我如何制作一个样式: *仅在明确声明时才使用 或 *仅限于用户控件中的某个区域(例如,将网格放入网格中,然后在第二个网格中声明样式将只应用于该网格)。 有没有这样的容器我可以使用,并且对用户界面没有任何影响,但只是一个风格的容器?仅在显示区域中应用xaml样式或样式

回答

1

要将它应用于整个子树,您可以在任何元素的资源中声明样式,它将只应用于该元素(如果它是正确的类型)以及其子树中正确类型的元素。 (把它放在你的第二级网格的<Grid.Resources>例如)

将其分配给特定的元素,你可以把它放在一个祖先元素的资源字典中与X:关键属性(<Style x:Key="MyStyle">),然后点所需的子元素使用他们的Style属性(Style="{StaticResource MyStyle}")。如果给它一个显式的x:Key属性,它将不会基于类型隐式匹配。

或者如果你根本不想使用资源,你可以在你想要的任何元素中内联定义一个样式(<Grid><Grid.Style><Style>...</Style></Grid.Style><Grid>),它只适用于该元素。

+0

'如果你给它一个明确的x:Key属性,它将不会基于类型隐式匹配。“这就是我所需要的,ty。 – user1151923