【发布时间】:2023-03-18 05:45:01
【问题描述】:
我目前正在将我的 TextBlock 包装在一个 Viewbox 中,正如 StackOverflow 上的几个答案所建议的那样,这会按照我的意愿呈现。但是在做了一些研究之后,我了解到这会影响性能,尤其是当您有大量使用这种方法的 TextBlock 时。
在 Silverlight 中有更好的方法吗?
注意:只要我能显示文本,我不介意使用 TextBlock 以外的东西。
【问题讨论】:
-
是什么控制了文本的大小?您可以将
FontSize绑定到视图中的另一个元素或视图模型中的属性。 -
不确定这是否可能,因为我对几乎所有控件(使用网格)都使用动态比例大小。由于我到处使用 TextBlocks,我希望有一个不需要显式计算和绑定字体大小的解决方案。
-
你有这样的东西:
FontSize="{Binding ElementName=YourGrid, Path=ActualHeight, Converter={StaticResource myConverter}"转换器将采用网格的ActualHeight(比如说)并用它做任何你想做的事情 - 使用相对计算。更多信息-chrisforman.me.uk/2011/05/a-nifty-silverlight-feature。虽然不确定这是你想要的,因此它不是一个答案(还)。 -
尽管 ActualWidth/ActualHeight 是依赖属性,但在 Silverlight 中绑定到它们并不是一个聪明的主意,因为它们是计算属性(因此属性更改通知不会在它们更改时触发)。
-
啊 - 我让它工作的情况是
ActualWidth不会改变的情况。我这里只用了一个例子,还有其他的属性可以用吗?
标签: c# silverlight dynamic font-size