Silverlight、wpf测量TextBlock文本问题!

发布于 2024-10-01 05:20:25 字数 614 浏览 5 评论 0原文

我无法获得 TextBlock 所需的正确大小。

我有几行代码:

TextBlock block = new TextBlock();
        block.Style = this.TextStyle;
        block.UpdateLayout();
        block.Measure(new Size(this.ActualWidth, this.ActualHeight));
        block.Text = "3333";

        return block.DesiredSize;

而且我无法解决两个问题:

  1. block.DesiredSize.Width 始终是 零。计算高度时 正确。

  2. 当我为样式“TextStyle”设置设置器时,所需大小不会改变 例如,为 FontSize 设置值 50 的 setter。

     
        
    

    但是期望身高只有15!这种测量方法有什么问题吗?我怎样才能获得文本块的实际大小?

I cannot get proper desired size of my TextBlock.

I have few lines of code:

TextBlock block = new TextBlock();
        block.Style = this.TextStyle;
        block.UpdateLayout();
        block.Measure(new Size(this.ActualWidth, this.ActualHeight));
        block.Text = "3333";

        return block.DesiredSize;

And i cannot solve two problems with it:

  1. block.DesiredSize.Width is always
    zero. When height calculated
    properly.

  2. Desired Size not changes when i set setters for style "TextStyle"
    For example setter set for FontSize with value 50.

         <Setter Property="FontSize"
                Value="50">
        </Setter>
    

    But Desired height only 15! What wrong with this measure method? And how can i get real size of text block?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千笙结 2024-10-08 05:20:25

试试这个

TextBlock block = new TextBlock();
    block.Text = "3333";
    block.Style = this.TextStyle;

    block.Measure(new Size(this.ActualWidth, this.ActualHeight));
    block.UpdateLayout();


    return block.DesiredSize;

Try this

TextBlock block = new TextBlock();
    block.Text = "3333";
    block.Style = this.TextStyle;

    block.Measure(new Size(this.ActualWidth, this.ActualHeight));
    block.UpdateLayout();


    return block.DesiredSize;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文