改变AccordionButton上箭头的位置

时间:2014-09-25 16:38:08

标签: c# xaml silverlight accordion

我的任务很简单:我想将Silverlight Accordion控件上的小箭头移动到顶部而不是居中。事实证明这比我预期的要复杂得多。 (我还是XAML的新手,没有Expression Blend)。

到目前为止,我已经推断出我需要修改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似乎是我需要做的,但我无法弄清楚在哪里复制模板&#34;一旦我找到它,从哪里或哪里放。我试图在CodePlex上找到源模板,但没有运气。我确实找到this,其中第一个答案似乎有我想要的东西,但我需要把它放在哪里才能工作?我不知道如何将它连接起来#34;或者如果我以正确的方式对待这个问题,对于这么简单的事情来说,这似乎非常复杂。

1 个答案:

答案 0 :(得分:0)

首先,如果您还没有,请在根目录下创建一个名为&#34;主题&#34;

的文件夹

将新文件添加到该文件夹​​,&#34; Generic.xaml&#34;并将Build Action标记为&#34; Resource&#34;

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>