2012-01-07 8 views
1

가능한 중복 :
wpf flat button이미지가 있지만 테두리가없는 버튼을 구현하는 방법은 무엇입니까?

은 내가 어떻게 사진에있는 것과 같은 버튼을 구현할 수있다?

enter image description here

나는 다음과 같은 시도 :

<Button Name="buttonSuchpfeil" Margin="184,39,522,364"> 
     <StackPanel> 
      <Image Source="..\Pictures\Suchpfeil.jpg"></Image> 
     </StackPanel> 
    </Button> 

하지만 난 좋아 해달라고 그림 주위에 경계가 나타납니다 : 내가이 문제를 방지하려면 코드를 변경하려면 어떻게

enter image description here

?

+0

그게 전부 오른쪽 버튼 템플릿,하지만 난이 "평면 버튼"을 찾는 것을 몰랐어요 : D – PeterP

+2

내 질문은 불분명 또는 왜 너희들은 downvote합니까? WPF의 초보자입니다 ... – PeterP

답변

1

단추의 안쪽 여백을 -2로 설정하면 이미지가 테두리를 숨길 수 있습니다. 이처럼

는 :

<Button Name="buttonSuchpfeil" Padding="-2" Margin="184,39,522,364"> 
    <StackPanel> 
     <Image Source="..\Pictures\Suchpfeil.jpg"></Image> 
    </StackPanel> 
</Button> 

더 복잡한 레이아웃 변경 (에 MouseOver 같은 효과와 같은) 당신은하지만 버튼의 템플릿을 변경해야 할 것입니다. This article은 기본 정보를 제공합니다.

+0

글쎄, 그래, 해결 방법이 될 것 같습니다. 그것은 실제로 작동하지 않습니다. 어쨌든 고마워! – PeterP

3

WinForms에는이 작업을 수행하는 쉬운 방법이 있습니다. FlatStyle을 Flat으로 설정하십시오. WPF에 관해서는

this.myButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 

(I이 :-)를 작성했다처럼 나타났다 토비아스 '대답에도 불구하고, 여기에 몇 가지 유용한 추가 정보가 : WPF Flat Button

+0

링크가 설명했습니다. 감사합니다. – PeterP

+1

@Cody Grey 내 대답은 질문의 일반적인 표현 때문에 두 가지 모두를 다룹니다. 나는 여기 새로왔다. 미안하다. – carboncrank

+0

아, 그 정도면 충분합니다. 아무 문제가 없지만 조금 이상합니다. 앞으로 시간을 절약하려면 질문 아래에 나타나는 태그를 확인하십시오. 파란색 버튼처럼 보입니다. 어떤 사람들은 질문에서 제공하는 맥락을 되풀이하는 것을 꺼려하지 않습니다. –

2

그냥이 함께 시도 ... 내가 만든 사용자 정의

<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"> 
     <Setter Property="HorizontalContentAlignment" Value="Center"/> 
     <Setter Property="VerticalContentAlignment" Value="Center"/> 
     <Setter Property="Padding" Value="1"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Button}"> 
        <Border x:Name="border" BorderThickness="2" BorderBrush="Black"> 
         <ContentPresenter></ContentPresenter> 
        </Border> 
        <ControlTemplate.Triggers> 

         <Trigger Property="IsEnabled" Value="false"> 
          <Setter Property="Foreground" Value="#ADADAD"/> 
          <Setter Property="Opacity" TargetName="border" Value="0.15"/> 
         </Trigger> 
         <Trigger Property="IsMouseOver" Value="True"> 
          <Setter Property="BorderBrush" TargetName="border" Value="#FF54FF08"/> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

     <Button HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="35" Style="{DynamicResource ButtonStyle1}"> 
     <Image Source="Untitled-1.png" Stretch="Fill"></Image>   
    </Button> 
+0

흠, 나는이 실행을 얻을 수 없습니다 ... – PeterP

관련 문제