[wpf] wpf에서 버튼 테두리를 어떻게 완전히 제거합니까?

Firefox 툴바 버튼처럼 마우스를 가져 가서 전체 버튼을 보려면 이미지가 있고 테두리가없는 버튼을 만들려고합니다.

BorderBrush에서 Transparent, BorderThickness으로 설정하고 0시도 BorderBrush="{x:Null}"했지만 버튼의 개요를 계속 볼 수 있습니다.



답변

이 시도

<Button BorderThickness="0"  
    Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" >...


답변

버튼 템플릿을 변경해야 할 수도 있습니다. 이렇게하면 프레임이없고 버튼을 누르거나 비활성화 할 수없는 버튼이 나타납니다.

    <Style x:Key="TransparentStyle" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Background="Transparent">
                        <ContentPresenter/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

그리고 버튼 :

<Button Style="{StaticResource TransparentStyle}"/>


답변

당신이해야 할 일은 다음과 같습니다.

<Button Name="MyFlatImageButton"
        Background="Transparent"
        BorderBrush="Transparent"
        BorderThickness="0" 
        Padding="-4">
   <Image Source="MyImage.png"/>
</Button>

이것이 당신이 찾고있는 것이기를 바랍니다.

편집 : 죄송합니다. 이미지 위로 마우스를 가져갈 때 버튼 테두리를 보려면 Padding = “-4″를 건너 뛰면 됩니다.


답변

왜 다른 사람들 이이 질문이 대답이 허용 된 질문과 중복된다고 지적하지 않았는지 모르겠습니다 .

여기 솔루션을 인용 : 당신은 오버라이드 (override) 할 필요가 ControlTemplate의를 Button:

<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>


답변

다음과 같이 Button 대신 하이퍼 링크를 사용할 수 있습니다.

        <TextBlock>
            <Hyperlink TextDecorations="{x:Null}">
            <Image Width="16"
                   Height="16"
                   Margin="3"
                   Source="/YourProjectName;component/Images/close-small.png" />
            </Hyperlink>
        </TextBlock>


답변

이미 툴바 안에 버튼을 넣는 것이 이러한 동작을 제공한다는 것을 알고 있을지 모르지만, 모든 현재 테마에서 어떤 종류의 예측 가능성으로 작동하는 것을 원한다면 새로운 ControlTemplate을 만들어야합니다.

Prashant의 솔루션은 단추에 포커스가있을 때 도구 모음에없는 단추와 작동하지 않습니다. XP의 기본 테마에서는 100 % 작동하지 않습니다. 컨테이너 배경이 흰색 일 때 희미한 회색 테두리를 볼 수 있습니다.


답변

프로그래밍 방식으로 다음을 수행 할 수 있습니다.

btn.BorderBrush = new SolidColorBrush(Colors.Transparent);