我有一个 TextBlock。我想在其中绘制(在其当前 视觉边界内)。我需要它的 DrawingContext。
如何获取 DrawingContext?
(MSDN 说任何 FrameworkElement 都是 Visual 的后代,并且 Visual 提供了对渲染的支持。但我不太清楚到底是怎么回事)
请注意 - 此代码每秒将被调用多次。我正在寻找最高效的解决方案(这就是我首先采用 DrawingContext 的原因)。
最佳答案
我做了什么:我编写了自己的装饰器,装饰了文本 block ,使用 OnRender 获取 DrawingContext,我将文本直接写入装饰器并在每次更改时使 Visual 无效。
性能提升(使用 Ants 分析器仔细测量)比直接将文本写入文本 block 好 4.5 倍,甚至比绑定(bind)字符串属性更好。
关于c# - WPF。如何获取 TextBlock 的 DrawingContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22121434/