2013-05-12 35 views
0

所以基本上我有一个按钮是一个横向三角形(对于“播放”按钮)。在xaml设计编辑器中,该按钮正确显示为三角形。但是,当我运行该应用程序时,它显示为一个标准的平淡窗口按钮。这里的风格:在运行时不应用按钮样式

<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Button}"> 
        <Grid> 
         <ed:RegularPolygon x:Name="PlayerPlay" Fill="#FF080808" InnerRadius="1" PointCount="3" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Stroke="Black"> 
          <ed:RegularPolygon.RenderTransform> 
           <TransformGroup> 
            <ScaleTransform/> 
            <SkewTransform/> 
            <RotateTransform Angle="90.635"/> 
            <TranslateTransform/> 
           </TransformGroup> 
          </ed:RegularPolygon.RenderTransform> 
         </ed:RegularPolygon> 
         <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 
        </Grid> 
        <ControlTemplate.Triggers> 
         <Trigger Property="IsFocused" Value="True"/> 
         <Trigger Property="IsDefaulted" Value="True"/> 
         <Trigger Property="IsMouseOver" Value="True"/> 
         <Trigger Property="IsPressed" Value="True"/> 
         <Trigger Property="IsEnabled" Value="False"/> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

和这里的按钮:

<Button x:Name="PlayerPlay" Click="PlayerPlay_Click_1" Content="" Margin="63.54,4.752,59.686,6.682" Style="{DynamicResource ButtonStyle1}"/> 

任何想法是怎么回事?

谢谢!

+0

样式和实例是在同一个文件中定义的吗?是在ResourceDictionary中定义的样式吗?如果是这样,你如何加载字典? – XAMeLi 2013-05-12 08:20:42

回答

1

你在哪里创建了风格?当然在Windows资源,在字典等

如果你的风格是在资源在您的按钮,然后使用静态资源 如果您使用的字典确保你在App.xaml中声明其文件 前

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="file_name.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

然后,您可以使用DynamicResource来应用您的样式。

+0

圣牛,一百万次感谢你。其他人正在开发UI方面,他们比我更少地了解xaml。将其更改为静态资源并完美运行。 – Tevis 2013-05-13 07:55:17