2014-09-25 69 views
-1

我的任務很簡單:我想將Silverlight Accordion控件上的小箭頭移到頂部而不是居中。這證明比我預期的更復雜。 (我還是XAML的新手,沒有Expression Blend)。在AccordionButton上更改箭頭的位置

到目前爲止,我推斷我需要修改AccordionButton的風格。我已經成功地爲AccordionItem本身添加了一個Style,並且所有工作都正常,但是當我嘗試修改按鈕本身時,沒有任何反應。

<Style TargetType="toolkit:AccordionButton" x:Key="MyAccordionButtonStyle"> 
    <Setter Property="VerticalContentAlignment" Value="Top"></Setter> 
    <Setter Property="VerticalAlignment" Value="Top"></Setter> 
</Style> 

我是否需要重做AccordionButton的整個樣式才能使用?我發現this answer這似乎是我需要做的,但我無法弄清楚從哪裏「複製模板」,或從哪裏找到它。我試圖在CodePlex上找到源模板,但沒有運氣。我發現this第一個答案似乎有我在找的東西,但我需要把它放在哪裏才能正常工作?我不知道如何「掛鉤」,或者如果我甚至以這種正確的方式進行討論,似乎對於如此簡單的事情來說過於複雜。

+0

是的,這將取代當前的樣式,模板可以發現,即使你沒有混合[例如Github上](https://github.com/samueldjack/SilverlightToolkit/blob/master/Controls.Layout.Toolkit/Accordion/AccordionButton.xaml) – 2014-09-25 17:54:21

回答

0

首先,如果你沒有它已經,創建一個文件夾斷命名爲根「的主題」

添加新的文件到該文件夾​​「 Generic.xaml」和標記生成操作「資源「

Generic.xaml內容:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
    xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" 
    xmlns:system="http://clr-namespace:System;assembly=mscorlib" 
    > 

    <Style TargetType="toolkit:AccordionButton" BasedOn="{StaticResource MyAccordionButtonStyle}"/> 
</ResourceDictionary>