我尝试修改按钮样式以删除类似Chrome系统的按钮。一切都很好,但按钮的内容将无法在按钮的中心正确对齐。
按钮样式:
<Style x:Key="NoChrome" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
按钮声明:
<Button Content="Button" Canvas.Left="141" Canvas.Top="324" Width="75" Style="{DynamicResource NoChrome}"/>
答案 0 :(得分:0)
ContentPresenter HorizontalAlignment =&#34; Center&#34;
您通常使用ContentControl的ControlTemplate中的ContentPresenter来指定要添加内容的位置。每个ContentControl类型的默认ControlTemplate都有一个ContentPresenter。
当ContentPresenter对象位于ContentControl的ControlTemplate中时,Content,ContentTemplate和ContentTemplateSelector属性将从ContentControl的相同名称的属性中获取其值。您可以通过设置ContentSource属性或绑定它们,使ContentPresenter属性从模板化父级的其他属性中获取这些属性的值。
<Style x:Key="NoChrome" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ContentPresenter HorizontalAlignment="Center"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
请参阅Reference