WPF 按钮无边框无背景

Posted

技术标签:

【中文标题】WPF 按钮无边框无背景【英文标题】:WPF Button No Border No Background 【发布时间】:2011-12-07 20:55:01 【问题描述】:

我只需要一个看起来像 TextBlock 的简单按钮。前段时间,我看到一个关于 SO 的答案,根据菜单中按钮的静态样式设置按钮样式,但我找不到该答案(我一直在寻找一个小时)。有谁知道我指的是什么系统样式以及将该样式应用于按钮的语法?

【问题讨论】:

【参考方案1】:

这可能是您所指的工具栏中按钮的样式吗? ToolBar 控件会覆盖 Button 样式,因此它们看起来是扁平的。您可以将该样式应用于这样的按钮...

<Button Style="StaticResource x:Static ToolBar.ButtonStyleKey" />

【讨论】:

这样做的好处是您不必为按钮悬停或按下时实现样式 太棒了,正是我想要的!【参考方案2】:

如果您想要一个看起来像TextBlock 的按钮,您可以制作一个TextBlock 的按钮。

<Button Content="I'm a Button; click me">
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <TextBlock Text="TemplateBinding Content" />
        </ControlTemplate>
    </Button.Template>
</Button>

【讨论】:

对我的问题有很好的答案和更好的答案,但 lanR 具有我正在寻找的系统风格。 +1 此方法允许替换为可点击的&lt;Image /&gt;(没有所有按钮镶边)。 您可能需要在 Content 之前指定类型才能使其正常工作。见***.com/questions/4572304/wpf-inheriting-from-window 我不会考虑这种 Metro 风格,因为您没有获得鼠标悬停等功能,而没有手动插入该代码的更多痛苦。 有没有办法自动将按钮的大小调整为文本量?

以上是关于WPF 按钮无边框无背景的主要内容,如果未能解决你的问题,请参考以下文章

WPF 创建无边框的圆角窗口

WPF 透明窗体,无边框(比如一些桌面的日历桌面程序),如何让程序钉在桌面上。直接镶嵌在桌面背景上?

如何创建标准无边框按钮(如提到的设计指南中)?

WPF 无边框拖动

WPF 窗口去除顶部边框(正宗无边框)

WPF无边框窗体怎么移动?C#