如何解决按钮上仍然出现奇怪的边框;即使修改了控制模板
我有一个“反馈”按钮,该按钮具有这个奇怪的边框:
所以我在线搜索了一些解决方案并修改了控制模板,然后我得到了:
控制模板代码:
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentPresenter Content="{TemplateBinding Content}" />
</ControlTemplate>
</Button.Template>
因此,即使在修改控件模板后-我也得到了一个奇怪的棕色边框。对此,我们将不胜感激。
按钮代码:
<Button Grid.Row="3"
Grid.Column="2"
Grid.RowSpan="2"
Style="{StaticResource IconStyleBase}"
Name="Feedback_Button">
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentPresenter Content="{TemplateBinding Content}" />
</ControlTemplate>
</Button.Template>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="218*" />
<RowDefinition Height="68*" />
</Grid.RowDefinitions>
<!--Icon-->
<Button Background="#3767B0"
Style="{StaticResource IconStyleContent}">
<!--Content-->
<Button.ContentTemplate>
<DataTemplate>
<Viewbox>
<TextBlock Padding="55"></TextBlock>
</Viewbox>
</DataTemplate>
</Button.ContentTemplate>
</Button>
<!--Icon Text-->
<Button Background="#FF2D5BA0"
Style="{StaticResource IconStyleSubBase}">
<!--Content-->
<Button.ContentTemplate>
<DataTemplate>
<Viewbox>
<TextBlock Padding="15">Feedback</TextBlock>
</Viewbox>
</DataTemplate>
</Button.ContentTemplate>
</Button>
</Grid>
</Button>
解决方法
DataTemplate
定义了您设置为按钮Content
的项目的外观,但是按钮本身作为容器,具有默认样式和控件模板,用于定义其外观,以及其不同状态(例如,鼠标悬停或按下)。那是边界的来源。
您可以尝试创建将BorderThickness
设置为0
的样式,并将其应用于按钮的每个上。这种方法适用于控制模板,该控制模板绑定了其模板化父对象的边框粗细。
<Style x:Key="BorderlessButtonStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="BorderThickness" Value="0"/>
</Style>
如果这不起作用,或者您想详细调整按钮的外观,则必须提取并调整按钮样式和控件模板。
您的自定义控件模板不起作用,因为您没有将其应用于内部按钮,因此应删除Content="{TemplateBinding Content}"
。但是,您的按钮控件模板没有定义任何控件状态,因此它根本不会响应。
您应该从here复制Button
的控制模板,或者通过Blend或Visual Studio手动提取它。然后,您可以移除其中的Border
或其中的image_array = cv2.resize(image_array,(48,48))
,更改其厚度或颜色,使其消失。此外,您可以调整其各种状态以适合您所需的样式。
关于设计的通知。它认为嵌套按钮不是一个好主意。您的控件应该是单个按钮,也可以是其中带有两个按钮的面板,但这仅在它们在相关上下文中执行不同操作(例如拆分按钮)的情况下才有意义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。