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

어디에서 스타일을 만들었습니까? 윈도우 자원의 전, 사전에 등

당신의 스타일은 당신이 전을 파일 App.xaml에 선언되어 있는지 확인 사전을 사용하는 경우 버튼 다음 정적 리소스 를 사용되는 경우 리소스에있는 경우

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

그런 다음 DynamicResource를 사용하여 스타일을 적용 할 수 있습니다.

+0

거룩한 암소, 백만 번 감사드립니다. 다른 사람이 UI 쪽을 작업하고 있으며, 내가하는 것보다 xaml이 적음을 알고 있습니다. 정적 리소스로 변경하여 완벽하게 작동했습니다. – Tevis

관련 문제