2016-11-03 7 views
0

사용자 지정 단추를 4 개 만들고 싶습니다. 그러나 원하는 모양이 매우 독특하고 어떻게 만드는지에 매달 렸습니다. 각 섹션이 정확하게 원하는 모양 일 수 있습니까? 당신에게 기본적으로 이미지처럼 보이지만 아무것도하지 않는 Button을 제공WPF 사용자 지정 단추

<Style x:Key="QuarterButtonTemplate" TargetType="{x:Type Button}"> 
    <Setter Property="Background" Value="Transparent" /> 
    <Setter Property="BorderThickness" Value="0" /> 
    <EventSetter Event="Click" Handler="QuarterButton_Click" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type Button}"> 
       <Border CornerRadius="0" 
         BorderBrush="{TemplateBinding BorderBrush}" 
         BorderThickness="{TemplateBinding BorderThickness}" 
         Background="{TemplateBinding Background}" 
         Padding="4,0"> 
        <VisualStateManager.VisualStateGroups> 
         <VisualStateGroup x:Name="CommonStates"> 
          <VisualState x:Name="Normal" /> 
          <VisualState x:Name="Pressed" /> 
          <VisualState x:Name="Disabled" /> 
          <VisualState x:Name="MouseOver" /> 
         </VisualStateGroup> 
         <VisualStateGroup x:Name="FocusStates"> 
          <VisualState x:Name="Focused" /> 
          <VisualState x:Name="Unfocused" /> 
         </VisualStateGroup> 
        </VisualStateManager.VisualStateGroups> 
        <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" 
             HorizontalAlignment="Center" 
             VerticalAlignment="{TemplateBinding VerticalAlignment}" 
             Content="{TemplateBinding Content}" 
             Margin="{TemplateBinding Margin}" /> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

: Button shape

감사

코멘트에 우리의 토론으로 당
+0

4 개의 버튼을 만들 수 있으며 이미지의 섹션을 콘텐츠와 함께 해당 섹션과 함께 배치 할 수 있습니다. 그런 다음 배경, 단추의 테두리를 제거 할 수 있습니다. –

+0

기본 버튼의 테두리를 제거하려면 어떻게합니까? – elszeus

+1

버튼의 템플릿으로 이동하여 원하는 것을 설정하십시오. 'ControlTemplate'에서'Background'를'Transparent','BorderThickness'을'0'으로 설정하고, MouseOver의 종류에 기반한'VisualState'로 무엇이든 할 수 있습니다. . – Meloviz

답변

0

, 여기 당신의 버튼 중 하나에 대한 샘플 템플릿입니다 Click 이벤트 이외의 것을 나타내지는 않습니다. 마우스를 올리거나, 사용 안 함, 초점을 맞추거나 초점을 맞추지 않거나 클릭하면 빈 VisualState이 표시되어 동일하게 보입니다.