如何在WPF中创建环绕按钮

Sha*_*owe 5 wpf layout xaml button

要求:

  • 必须支持MinWidth属性
  • 只能在一行或两行显示文本.不能换到3个或更多.
  • 在尊重MinWidth时,应使按钮尽可能小
  • 文本只能在空格上包装
  • 无法指定宽度.按钮应保持水平增长.

这是我希望按钮看起来像(请忽略造型,包装是重要的部分)

在此输入图像描述

我正在寻找有关如何动态文本换行的想法.

Ed *_*tes 1

由于您将文本限制为两行,我的建议是编写一个自定义面板作为按钮内容,将指定的文本、字体等转换为 WPF FormattedText 对象。然后,您可以测量它并决定如何在 MeasureOverride 和 ArrangeOverride 中布局和显示它。FormattedText 甚至有一个参数,用于在文本不适合时显示 ... 缩写。要将其保留为两行,您需要首先创建它,然后检查其高度以查看单行的高度。(需要在注释中添加剩余部分,因为 StackOverflow 会抛出错误)。