动态列中的TextBox不包装文本

时间:2009-08-25 02:34:49

标签: silverlight

我在带有动态列的列中有一个TextBox:

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox Grid.Column="1" TextWrapping="Wrap"/>

TextBox的宽度恰好适合用户的屏幕。但是当它中的文本长于其初始化宽度时,TextBox将增加其内部包装文本的宽度。

我可以为TextBox指定一个静态宽度,但它很难看。有没有办法让它的宽度初始化为动态但在运行时是静态的?

3 个答案:

答案 0 :(得分:1)

目前无法做到这一点。等待Silverlight 5使用Ancestor RelativeSource修复此问题。

答案 1 :(得分:0)

到目前为止您发布的代码对我来说很好看。 Blend中的一个小测试确认文本包装符合预期。

答案 2 :(得分:0)

如上所述的结构仅在父母之一限制视觉元素的宽度时起作用。这很可能不是这种情况,但我无法从问题中发布的XAML中看到。

对控件宽度缺乏限制的原因很可能是控件树中某个级别的滚动查看器,所描述的XAML是其中的一部分。