Get rid of button border in WPF?

后端 未结 4 2022
长情又很酷
长情又很酷 2020-12-03 05:33

i am trying to get rid of button border and only display text, however a thin line around the text gets displayed even though i set borderThickness to 0 and borderbrush to t

相关标签:
4条回答
  • 2020-12-03 05:36

    You need to override the ControlTemplate of the 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>
    
    0 讨论(0)
  • 2020-12-03 05:36

    The method that I recently found to be most useful for this was to have your button use the style of a toolbars. This will only use the image or text while only showing button borders on mouse over.

    <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" />
    
    0 讨论(0)
  • 2020-12-03 05:52

    You need to create a new Template for your buttons.

    The easiest way to do this is open your project in Expression Blend, select the button and then right click and select "Edit Template > Edit a Copy..". This copies the existing template into one you can modify. It's easier if you create it in a resource dictionary.

    Then select the template and on the Resource tab (on the right of the UI) select the ButtonFocusVisual. Select the Properties tab and expand the Miscellaneous section. This has BorderStyle and BorderThickness fields (among others). Set the style to None.

    0 讨论(0)
  • 2020-12-03 05:56

    Templates will not solve this problem, your only course of action is to modify the WPF control. The solution is here:

    How to remove ButtonChrome border (when defining the template of a border)?

    0 讨论(0)
提交回复
热议问题