2010-05-24 11 views
19

단추 테두리를 없애고 텍스트 만 표시하려고하지만 borderThickness를 0으로 설정하고 borderbrush를 투명하게 설정하더라도 텍스트 주위의가는 선이 표시됩니다. 저장 버튼 이 alt text http://i45.tinypic.com/scywye.pngWPF에서 단추 테두리 제거 하시겠습니까?

내 XAML 코드 :

<Button Content="save" Name="btnSaveEditedText" 
       Background="Transparent" 
       Foreground="White" 
       FontFamily="Tw Cen MT Condensed" 
       FontSize="30" 
       Margin="-280,0,0,10" 
       Width="60" 
       BorderBrush="Transparent" 
       BorderThickness="0"/> 

어쨌든 거기에 나는 버튼의 경계를 제거 할 수 있습니까?

+0

짧은 해킹'<버튼의 경계선 = "0"스타일 = "{정적 리소스 {X 정적 ToolBar.ButtonStyleKey}}">'(a [유사한 포스트]에서 http://stackoverflow.com/questions/995757/how-do-do-do-you-button-border-in-wpf) –

답변

47

당신은 버튼의 ControlTemplate이를 재정의해야합니다

<Button Content="save" Name="btnSaveEditedText" 
       Background="Transparent" 
       Foreground="White" 
       FontFamily="Tw Cen MT Condensed" 
       FontSize="30" 
       Margin="-280,0,0,10" 
       Width="60" 
       BorderBrush="Transparent" 
       BorderThickness="0"> 
    <Button.Template> 
     <ControlTemplate TargetType="Button"> 
      <ContentPresenter Content="{TemplateBinding Content}"/> 
     </ControlTemplate> 
    </Button.Template> 
</Button> 
+3

제안 사항은 강조 표시/누른 스타일을 모두 제거합니다. –

+2

예. 이를 유지하려면 컨트롤 템플릿 사본을 가져야합니다 (예 : 표현식 블렌드 사용) 수정 한 다음 유지하려는 부품에 남겨두고 버튼에 적용해야합니다. – bitbonk

2

당신은 당신의 버튼에 대한 새로운 템플릿을 작성해야합니다.

가장 쉬운 방법은 Expression Blend에서 프로젝트를 열고 단추를 선택한 다음 마우스 오른쪽 단추로 클릭하고 "템플릿 편집> 복사본 편집 ..."을 선택하는 것입니다. 그러면 기존 템플리트가 수정할 수있는 템플리트로 복사됩니다. 리소스 사전에 만들면 더 쉽습니다.

그런 다음 템플릿을 선택하고 UI 오른쪽의 리소스 탭에서 ButtonFocusVisual을 선택하십시오. 속성 탭을 선택하고 기타 섹션을 확장하십시오. 여기에는 BorderStyle 및 BorderThickness 필드가 있습니다 (다른 것들 중에서). 스타일을 없음으로 설정하십시오.

+0

가이드를 따르지 만 국경을 제거하지 못했습니다. 여기에 문제를 게시 http://stackoverflow.com/questions/4553692/how-to-remove-buttonchrome-border-when-defining-the-template-of-border. 우리를 지원하십시오. –

11

나는 최근에 당신의 버튼이 도구 모음의 스타일을 사용하는 것이 었위한 가장 유용한 것으로 확인 방법. 이렇게하면 이미지 나 텍스트 만 사용되며 마우스 위로 단추 테두리가 표시됩니다.

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" 
     Content="save" 
     Name="btnSaveEditedText" 
     Background="Transparent" 
     Foreground="White" 
     FontFamily="Tw Cen MT Condensed" 
     FontSize="30" 
     Margin="-280,0,0,10" 
     Width="60" 
     BorderBrush="Transparent" 
     BorderThickness="0" /> 
+1

거룩한 버킷 댄! 이것은 천재이다! –

+1

이 점에 유의해야 할 점은 버튼이 툴바 안에 있으면 작동하지 않는다는 것입니다. –

관련 문제