我在silverlight toolkit的手風琴控件中遇到問題樣式/模板AccordionItem。由於某種原因,子控件是左對齊。我可以解決這個問題的唯一方法是編輯ExpandableContentControlStyle對AccordionItem。將xaml樣式附加到元素中,但未明確聲明它
風格是位於下方:
<Style x:Key="ExpandableContentControlStyle1" TargetType="layoutPrimitivesToolkit:ExpandableContentControl">
<Setter.Value>
<ControlTemplate TargetType="layoutPrimitivesToolkit:ExpandableContentControl">
<ContentPresenter x:Name="ContentSite" Cursor="{TemplateBinding Cursor}" Margin="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalAlignment="Stretch" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
現在我的問題是,有這種風格被連接到AccordionItem,我必須將其設置:
<layoutToolkit:Accordion HorizontalAlignment="Stretch">
<layoutToolkit:AccordionItem Header="Hello" BorderBrush="{x:Null}" ExpandableContentControlStyle="{StaticResource ExpandableContentControlStyle1}"/>
<layoutToolkit:AccordionItem Header="Haha" BorderBrush="{x:Null}"/>
</layoutToolkit:Accordion>
但那些AccordionItem將從ItemSource生成。我想要做的是將這種風格應用於生成的AccordionItem而不進行設置。
PS。如果我能找到如何從父Accordion編輯(ContentPresenter x:Name =「ContentSite」),上述問題可能會過時。我不能沒有下面的模板屬性編輯:
- 的ContentTemplate
- ItemContainerStyle
- AccordionButtonStyle
- ItemsPanel
- 的ItemTemplate
如果有人知道這是怎麼回事,我會感謝您的幫助,或者你可以幫助多個元素的樣式。
不,我不想設置樣式。我想在頁面上顯示樣式,並自動應用於元素。像使用CSS。 – 2010-03-02 17:06:02
更新了我的答案。這有幫助嗎? – 2010-03-03 02:27:05