TextBlock Wrap and scrollView



下面的代码工作得很好,但是即使TextBlock里面有大文本,垂直的ScrollBar也是禁用的。我如何启用它?

 <UserControl.DataContext>
        <viewModels:CommentsViewModel/>
    </UserControl.DataContext>
    <Grid>
        <DockPanel >
            <TreeView DockPanel.Dock="Top"/>
            <Expander Header="Yo" DockPanel.Dock="Bottom" VerticalAlignment="Bottom">
                <ScrollViewer HorizontalScrollBarVisibility="Disabled">
                    <TextBlock TextWrapping="Wrap"  MaxHeight="250" 
                         Text="{Binding Article.Article.Content}"/>
                </ScrollViewer>
            </Expander>
        </DockPanel>
    </Grid>

我发现。

MaxHeight="250" 

标签不应该在TextBlock中,而应该在Grid中以限制高度。那么它将会完美地工作。

<UserControl.DataContext>
    <viewModels:CommentsViewModel/>
</UserControl.DataContext>
<Grid>
    <DockPanel >
        <TreeView DockPanel.Dock="Top"/>
        <Expander Header="Yo" DockPanel.Dock="Bottom" VerticalAlignment="Bottom">
            <Grid MaxHeight="250"> 
            <ScrollViewer HorizontalScrollBarVisibility="Disabled">
                <TextBlock TextWrapping="Wrap"   
                     Text="{Binding Article.Article.Content}"/>
            </ScrollViewer>
            </Grid>
        </Expander>
    </DockPanel>
</Grid>

如果您只是显示文本,请使用TextBox:

        <Expander Header="Yo" DockPanel.Dock="Bottom" VerticalAlignment="Bottom">
            <Grid IsReadOnly="True">
                <TextBox TextWrapping="Wrap"  MaxHeight="250" 
                     Text="{Binding Article.Article.Content}"/>
            </Grid>
        </Expander>

最新更新