Xamarin.forms Xamarin表单决定文本将消耗的大小

Xamarin.forms Xamarin表单决定文本将消耗的大小,xamarin.forms,text-size,Xamarin.forms,Text Size,我想我以前在什么地方见过这个。我相信这是一种方法,基于知道要放入控件(比如标签)的文本,您可以让Xamarin表单告诉您控件的大小。如果我没记错的话,您使用了类似于somaline的OnDevice,并且必须传入文本和控件类型。我现在好像找不到这个。有人知道这是否可能吗 明确地说,我试图解决我使用的第三方控件(SyncFusion DataGrid)中的一个缺陷,该控件未正确调整网格列的大小。我试图不等到我们发布了修复程序,但我想我不得不这么做。Syncfusion实际上发布了一个更新版本,似乎

我想我以前在什么地方见过这个。我相信这是一种方法,基于知道要放入控件(比如标签)的文本,您可以让Xamarin表单告诉您控件的大小。如果我没记错的话,您使用了类似于somaline的OnDevice,并且必须传入文本和控件类型。我现在好像找不到这个。有人知道这是否可能吗


明确地说,我试图解决我使用的第三方控件(SyncFusion DataGrid)中的一个缺陷,该控件未正确调整网格列的大小。我试图不等到我们发布了修复程序,但我想我不得不这么做。

Syncfusion实际上发布了一个更新版本,似乎最终解决了列的宽度大小不正确的问题。我无法关闭这个,所以我将把它标记为答案

对于Syncfusion,您现在可以执行以下操作:

mydatagrid.GridColumnSizer.Refresh();
mydatagrid.WidthRequest = mydatagrid.GetVisualContainer().ExtentWidth;

“文本大小”是字体大小还是高度宽度?你想做什么?您是否试图通过自动调整字体大小以适应标签内容来自动适应标签内容?您是否试图通过计算字数来设置标签的宽度和高度?目前还不清楚。或者您正在尝试基于平台/设备类型设置FontSize属性?@NirmalSubedi很抱歉,您试图通过计算单词来设置标签的宽度和高度。您是否尝试过此@NirmalSubedi我没有尝试过此操作,因为如果可能的话,我不想为每个平台设置自定义代码。例如,所示的代码并不针对MacOS。我发现你可以在你的PCL中运行一些东西,因此我希望再次找到OnDevice。谢谢你的反馈。我认为自定义渲染可能是实现这一点的最简单的方法,但是你应该为每个平台定义。