在WPF中自动调整字体大小?

时间:2011-02-24 16:04:46

标签: c# wpf textbox

  

可能重复:
  WPF 4: Grow/Shrink TextBlock (Font Size) based on available space

我在WPF中寻找以下行为: 我的应用程序中的所有TextBlock都以24字体大小显示,但如果空间不足,我会减小字体大小。

我想到了两个解决方案,但没有一个能够解决问题:

  1. 将一个textBox放在viewbox中。不起作用,因为所有标签都开始变得不同。
  2. 如果那是一个按钮我会 指定MinWidth而不是Width, 但是没有叫做的财产 TextBlock上的MinFontSize。 编辑:
  3. 使用属性MinTextWidth创建自定义控件(这可能有用)
  4. 任何其他可行的解决方案吗?

2 个答案:

答案 0 :(得分:1)

我想说这是一个设计问题,如果用户看不到整个项目,缩小文本可能会有所帮助,因为它可能会使其无法读取。

你应该考虑做一些TextBlock增长以适应文本,或者使用扩展器或其他东西来让他们看到文本的其余部分。

答案 1 :(得分:0)

我认为这个问题没有通用的解决方案。有一种简单的方法:窗口的布局根目录为ViewBox。另一种方式,我认为是编写自定义控件并动态更改ScaleTransform(而不是FontSize - 这可能会导致性能问题。)