wpf - 仅带有垂直滚动条的 TextBlock

标签 wpf xaml windows-runtime

我有一个 TextBlock其中可能包含很长的文本,所以我想为其添加一个垂直滚动条。我最初的尝试是包装一个 ScrollViewer周围。这行得通,但问题是当我放大时,宽度也被放大了。我尝试像这样禁用水平滚动条:
<ScrollViewer IsTabStop="True" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
但这并没有解决问题。我也尝试绑定(bind)宽度:
Width="{Binding ElementName=Scroller, Path=ViewportWidth}"
它也没有帮助。

所以,我的问题是,如何在 TextBlock 中添加垂直滚动条但具有固定宽度和换行文本?里面?这是我的完整代码:

<ScrollViewer Grid.Row="1" IsTabStop="True" VerticalScrollBarVisibility="Auto">
            <TextBlock HorizontalAlignment="Center" VerticalAlignment="Top"  TextWrapping="Wrap" TextAlignment="Center"/>
</ScrollViewer>

最佳答案

这个答案有两个部分......首先是简单地使用 TextBox :

<TextBox ScrollViewer.VerticalScrollBarVisibility="Visible" Text="Something really 
    really really really really really really really really long" 
    Style="{StaticResource TextBlockStyle}" />

第二部分是简单的Style TextBox使它看起来像 TextBlock :
<Style x:Key="TextBlockStyle" TargetType="{x:Type TextBox}">
    <Setter Property="Background" Value="{x:Null}" />
    <Setter Property="BorderBrush" Value="{x:Null}" />
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="Padding" Value="0" />
    <Setter Property="IsReadOnly" Value="True" />
    <Setter Property="IsTabStop" Value="False" />
    <Setter Property="VerticalAlignment" Value="Center" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
    <Setter Property="TextWrapping" Value="Wrap" />
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Background" Value="{x:Null}" />
        </Trigger>
    </Style.Triggers>
</Style>

如果这些属性不适合您的情况,请随意删除它们。

关于wpf - 仅带有垂直滚动条的 TextBlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18742641/

相关文章:

wpf - 找不到样式

c# - WPF 自定义形状

wpf - WPFExtensions ZoomControl-捏缩放正在跳跃

c# - 如何在 xaml 中裁剪图像并限制图像宽度? (温特)

windows-8 - 如何在没有 Reactive 框架的情况下动态绑定(bind)事件到 WinRT 中的命令?

c# - 滚动时弹出窗口不关闭

wpf - View 模型实现 IDataErrorInfo 进行验证是个好主意吗?

c# - Wpf 应用程序卡住 - 大量内存泄漏之谜

c# - ObservableCollection 以及存储库

windows - Windows 8 商店应用程序设置栏中的按钮样式