Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何计算字符串的像素大小?_C#_Windows Phone 8.1_Windows 8.1_Win Universal App - Fatal编程技术网

C# 如何计算字符串的像素大小?

C# 如何计算字符串的像素大小?,c#,windows-phone-8.1,windows-8.1,win-universal-app,C#,Windows Phone 8.1,Windows 8.1,Win Universal App,我有一根绳子。我知道字体系列和它将显示的字体大小。我需要知道文本在ui中将占用多少像素。这样我就可以决定是否显示另一个元素。我该怎么做 我发现了一些东西,但在我的Windows universal项目中没有。例如: 编辑: 这不是一个web项目 我想先计算它在ui中的大小。在将字符串设置为文本/内容后,尝试检查用于显示文本的控件的宽度和高度属性的值(例如文本框),决定是否显示另一个元素。我认为您需要在代码中创建一个textblock,并为其指定所需的文本。然后你可以从中得到实际的高度和宽

我有一根绳子。我知道字体系列和它将显示的字体大小。我需要知道文本在ui中将占用多少像素。这样我就可以决定是否显示另一个元素。我该怎么做

我发现了一些东西,但在我的Windows universal项目中没有。例如:

编辑:

这不是一个web项目


我想先计算它在ui中的大小。

在将字符串设置为文本/内容后,尝试检查用于显示文本的控件的
宽度
高度
属性的值(例如
文本框
),决定是否显示另一个元素。

我认为您需要在代码中创建一个
textblock
,并为其指定所需的文本。然后你可以从中得到实际的高度和宽度。请参阅下面的代码

         TextBlock txt=new TextBlock();
        //set additional properties of textblock here . Such as font size,font family, width etc.
        txt.Text = "your text here";
        var height = txt.ActualHeight;
        var width = txt.ActualWidth;
您可以基于此高度和宽度执行进一步的操作


我不是说这是一个优化的解决方案。但是这对你来说是可行的,但是如果我想在显示它之前计算它,该怎么办呢?我还没有测试过它,但是请在你页面的
加载的
事件处理程序中尝试答案。但是我不想根据ui元素计算它。我想从字符串计算它。在我的情况下,基于ui元素计算它将不起作用。在通用项目中允许使用该类吗?这就是你为WPF所做的。