在展开的WPF画布中显示没有文本的TextBlock

时间:2019-08-09 11:34:17

标签: c# wpf

我在WPF中使用C#将一些图形和文本绘制到WPF画布中。 为了在画布上添加文本,我使用了TextBlock,当我不更改Canvas的大小时,这种方法效果很好。 当我扩展画布的宽度时,有时不绘制文本(从我扩展画布的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);
}

不再显示文本的屏幕看起来像这样(来自上面的代码): Screenshot of problem text

0 个答案:

没有答案