Silverlight 4.0 silverlight 4中的文本包装不起作用
我想做文字包装,并显示一个垂直滚动条,当我有超过一行文字,但文字是没有得到包装在所有。这是我的xamlSilverlight 4.0 silverlight 4中的文本包装不起作用,silverlight-4.0,textblock,word-wrap,Silverlight 4.0,Textblock,Word Wrap,我想做文字包装,并显示一个垂直滚动条,当我有超过一行文字,但文字是没有得到包装在所有。这是我的xaml <StackPanel Name="panel"> <Grid> <Grid.RowDefinitions> <RowDefinition /> </Grid.RowDefinitions>
<StackPanel Name="panel">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel
Grid.Row="0"
Grid.Column="0"
Orientation="Horizontal"
Background="Yellow">
<TextBlock Text="Text:" />
<ScrollViewer
BorderThickness="0"
Height="33"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<TextBlock TextWrapping="Wrap" Text="{Binding Name}"/>
</ScrollViewer>
</StackPanel>
</Grid>
</StackPanel>
有人能告诉我为什么文本不会在屏幕的末尾换行吗
谢谢这里发生的事情是,您的内部StackPanel(以及每个StackPanel)不会将其子级限制在StackPanel中的“可见”空间。因此,scrollviewer感觉有无限的空间,textblock也是如此。网格本身可以做到这一点:
<StackPanel Name="panel">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="Text:" />
<ScrollViewer Grid.Column="1"
BorderThickness="0"
Height="33"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<TextBlock TextWrapping="Wrap"
Text="YourText" />
</ScrollViewer>
</Grid>
</StackPanel>
现在运行得很好。我现在必须改变一些事情。您还可以告诉我,是否有可能以某种方式使scrollviewer与网格中的某一行具有相同的高度,以便在该行中有更多文本时立即显示滚动条?我讨厌在scrollviewer中硬编码高度。谢谢你当然。。。在我的代码示例中,由于ScrollViewer受到网格的限制(存在一个隐式网格。Row=“0”),所以scroll viewer将被该行的高度(这是一个单词吗?)。因此,您所要做的就是
,不幸的是,这并没有给出期望的结果。我像你说的那样将高度添加到行中,并从ScrollViewer中删除了height属性。然而,scrollviewer似乎仍然被网格切断了。我希望有一种附加屏幕截图的方法,但我的意思是滚动条的底端不是完全可见的。我只能看到滚动条底端的一半。我希望它能正确地放入行中。好的。。将“高度”设置为35可以解决此问题。不知道为什么..可能这是scrollviewer/my scrollviewer的最小高度?看起来滚动条末端的中继器不太大,所以是的,应该有一个最小值。