我在同一位置有一个TextBlock和一个Textbox。根据用户所处的模式,我使一个可见,另一个折叠。这工作正常,但我怎样才能使Textblock可滚动?我想我应该使用ScrollViewer,但我不知道它为什么不起作用。我已经尝试过使用高度(自动和固定),但它不会滚动。我的xaml是这样的:
<ScrollViewer x:Name="detailsScroller" Height="285" Width="480" Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Canvas x:Name="infoCanvas" Width="478" >
<TextBlock x:Name="textblockInfo" TextWrapping="Wrap" Width="462" Height="197" Canvas.Left="8"/>
<TextBox x:Name="textboxInfo" TextWrapping="Wrap" Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" />
</Canvas>
</ScrollViewer>
谢谢!
答案 0 :(得分:23)
不要在文本框中放置高度。 这对我很有用:
<ScrollViewer Height="192" HorizontalAlignment="Left" Margin="12,34,0,0" Name="scrollViewer1" VerticalAlignment="Top" Width="404">
<TextBlock VerticalAlignment="Top" Name="textBlock1" Text="TextBlock" Width="378" TextWrapping="Wrap" />
</ScrollViewer>
答案 1 :(得分:2)
您可能希望引用discussion和MSFT confirmation文本控件滚动仍然是当前CTP正在进行的工作。 Beta不应该太遥远,希望更多的是当然。
答案 2 :(得分:1)
以下代码有效:由于您的子控件(即文本块)的高度和宽度不等于滚动查看器的宽度和高度,因此滚动条不会显示。我刚刚给出了它内部定义的控件的滚动查看器的高度和宽度。
<ScrollViewer x:Name="detailsScroller" Height="285" Width="480" Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Canvas x:Name="infoCanvas" Height="285" Width="480" >
<TextBlock x:Name="textblockInfo" TextWrapping="Wrap" Height="285" Width="480" Canvas.Left="8"/>
<TextBox x:Name="textboxInfo" TextWrapping="Wrap" Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" />
</Canvas>
</ScrollViewer>
答案 3 :(得分:0)
如果要滚动内容,请确保滚动条可见。
<TextBox Text="{Binding SomethingReallyLong}"
TextWrapping="Wrap"
VerticalScrollBarVisibility="Visible"/>