首页 > 解决方案 > 在扩展的 WPF 画布中显示没有文本的 TextBlock

问题描述

我在 WPF 中使用 C#,将一些图形和文本绘制到 WPF 画布中。为了向画布添加文本,我使用了 TextBlock,当我不更改画布的大小时,它可以正常工作。当我扩展画布的宽度时,有时不会绘制文本(从我扩展画布的 x 位置)。文本在那里,因为我可以看到文本背景(以及我为测试添加的删除线)。当我更改文本的长度和/或在代码中设置 TextBlock 长度时,行为会发生变化。显示文本的含义进行了一些更改。图形在所有情况下都显示得很好。

在我绘制文本之前,我试图确保画布的宽度和实际宽度是正确的。

我使用此代码将文本绘制到画布上:

private void drawHeartrate(string hr, double xHr)
{
    TextBlock hrTextBlock = new TextBlock();
    hrTextBlock.Text = hr;
    hrTextBlock.Foreground = Brushes.Black;
    hrTextBlock.TextDecorations = TextDecorations.Strikethrough;
    hrTextBlock.Background = Brushes.Yellow;

    hrTextBlock.FontFamily = new FontFamily("Soho Gothic Pro");
    hrTextBlock.FontSize = 14;
    Canvas.SetLeft(hrTextBlock, xHr);
    Canvas.SetTop(hrTextBlock, -2);
    CnvsEcg.Children.Add(hrTextBlock);
}

不再显示文本的屏幕如下所示(来自上面的代码): 问题文本的屏幕截图

标签: c#wpf

解决方案


推荐阅读