C#WPF – ScrollViewer + TextBlock麻烦

我在ScrollViewer中有一个TextBlock ,它与stretch到它的窗口对齐。 我需要TextBlock的行为如下:

  • 使用窗口resize,不使用滚动条
  • 当resize低于某个宽度时, TextBlock需要保持MinWidth并且应该出现滚动条
  • TextWrappingTextTrimming应该可以正常工作

我怎样才能获得此function?

我尝试了几种方法,包括绑定到ActualWidthActualHeight ,但无法使其工作。

这可不是那么困难,我错过了什么?

这是一个放在XamlPad中的代码示例(尚未设置MinWidth):

      

这有效:

      

没有更多细节,我能做的最好的事情就是提供标准的方法。 基本上,在滚动查看器中托管您的元素(具有最小大小); 当scrollviewer的大小调整得足够小,使得元素不能完全适合它内部时,它会自动显示滚动条。 例:

    

如果您有更复杂的布局并且无法绑定到ScrollViewer那么答案https://stackoverflow.com/a/41281041/254109中的IgnoreWidthControl可能会有所帮助。