0

我的 WPF 应用程序中有一个RichTextBox控件。我用它来显示日志消息。这是代码:

<Grid x:Name="grid"
      Margin="20,120,20,20">
  <RichTextBox x:Name="txtLog"
               Height="{Binding ElementName=grid, Path=ActualHeight, Mode=OneWay}"
               FontSize="15"
               ScrollViewer.HorizontalScrollBarVisibility="Auto"
               ScrollViewer.VerticalScrollBarVisibility="Auto" />
</Grid>

此代码在 a 中UserControl,这UserControl是 another 的内容Window。在那,当内容大于容器时Window,我有一个显示滚动条。ScrollViewer这是代码:

<ScrollViewer x:Name="content"
              VerticalScrollBarVisibility="Auto"
              Margin="0,70,0,0">
  <Controls:TransitioningContentControl x:Name="transition"
                                        Transition="LeftTransition" />
</ScrollViewer>

我最初的问题是,每当日志消息填充时RichTextBox,它就会增长并在容器上显示滚动条。我通过将 的高度绑定RichTextBoxActualHeight其父 `Grid.

一切都按预期工作。但是,还有一个小问题。如果我通过将 paretn Window 变大然后将其缩小到以前的大小来调整它的大小,则它的高度RichTextBox不会回到它以前的值,它会再次显示滚动条。

我该如何解决这个问题?

4

1 回答 1

1

改变

<RichTextBox x:Name="txtLog"
             Height="{Binding ElementName=grid, Path=ActualHeight, Mode=OneWay}"
             FontSize="15"
             ScrollViewer.HorizontalScrollBarVisibility="Auto"
             ScrollViewer.VerticalScrollBarVisibility="Auto" />

<RichTextBox x:Name="txtLog"
             HorizontalAlignment="Stretch"
             VerticalAlignment="Stretch"
             FontSize="15"
             ScrollViewer.HorizontalScrollBarVisibility="Auto"
             ScrollViewer.VerticalScrollBarVisibility="Auto" />

将其绑定到 ActualWidth 给它水平和垂直对齐拉伸

于 2013-06-13T11:18:15.063 回答