2013-05-12 5 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

ответ

1

Где вы создали стиль? бывший в Windows-ресурсах, в словаре и т.д.

Если ваш стиль в ресурсах, где ваша кнопка затем использовать StaticResource При использовании словаря убедитесь, что у вас есть объявить его в App.xaml Файл экс

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

Затем вы можете использовать DynamicResource для применения вашего стиля.

+0

Святая корова, миллион раз спасибо. Кто-то еще работает с пользовательским интерфейсом, и они знают меньше xaml, чем я. Изменил его на статический ресурс и работал отлично. – Tevis

Смежные вопросы