要求:

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

  • 这是我想要的按钮外观(请忽略样式,包装是重要的部分)

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

    最佳答案

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

    关于wpf - 如何在WPF中创建包装按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6865477/

    10-17 01:05