如何以编程方式自动分配文本框大小?

3

我是Windows Phone开发的新手。我需要通过编程将TextBlock的大小分配为自动大小。如何做到这一点?


<TextBlock Width="*"/> 或者 <TextBlock Width="Auto"/> - fhnaseer
只是对@FaisalHafeez答案的一个小补充。*表示占用所有剩余空间,而Auto表示占用所需空间。 - DotNetRussell
灵活的布局通常使用容器进行布局,并允许计算元素宽度。您可以将文本块放置在网格中,并将文本块的HorizontalAlignment属性设置为“Stretch”(这是默认值)。 - kindasimple
3个回答

2
如果您查看 MSDN 上 FrameworkElement.Width 的文档,您会发现:

除了可接受的 Double 值之外,此属性还可以是 Double.NaN。这是指定自动调整大小行为的方法。在 XAML 中,您可以将值设置为字符串 "Auto"(不区分大小写)以启用自动调整大小行为。


1
任何不希望在.NET中设置为数值的双精度或单精度数都可以作为"type"参数传递. NaN,即"非数字".

Double.NaN Single.NaN

在控件属性(例如高度或宽度)的情况下,这表示未初始化或自动。

0

之前的回答并没有回应实际问题,这个问题涉及到以编程方式设置宽度/高度,而不是在XAML中设置。要做到这一点,只需创建控件并将其添加到其容器中,而不设置高度属性 - 如果它是文本控件(文本框,文本块),请确保.TextWrapping属性设置为TextWrapping.Wrap(还建议:将VerticalAlignment属性设置为System.Windows.VerticalAlignment.Top)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接