У меня есть вид сетки, который содержит большое количество RichTextBox, и каждый из них установлен на Auto Height, поэтому мне не нужно прокручивать их внутри.Проблема в том, что я не могу прокрутить сетку, чтобы просмотреть все текстовые поля.
Как настроить прокрутку на сетке, а не на текстовых полях?
Вот мой код C #:
public MainWindow()
{
InitializeComponent();
Dictionary<string, List<string>> textDic = wnXMLDic();
foreach (KeyValuePair<string, List<string>> kv in textDic)
{
FlowDocument wnDoc = new FlowDocument();
Paragraph wnParagraph = new Paragraph();
wnParagraph.Inlines.Add(new Bold(new Run("Version "+kv.Key+":")));
wnParagraph.Inlines.Add(Environment.NewLine);
foreach (string val in kv.Value)
wnParagraph.Inlines.Add(val + Environment.NewLine);
wnDoc.Blocks.Add(wnParagraph);
RichTextBox wnRichTextBox = new RichTextBox();
wnRichTextBox.IsReadOnly = true;
wnRichTextBox.Document = wnDoc;
RowDefinition rowDef = new RowDefinition();
rowDef.Height = GridLength.Auto;
wnGrid.RowDefinitions.Add(rowDef);
wnGrid.Children.Add(wnRichTextBox);
Grid.SetRow(wnRichTextBox, wnGrid.RowDefinitions.Count - 1);
}
}
А вот мой код WPF:
<Window x:Class="WhatsNewWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WhatsNewWPF"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid Name="wnGrid" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.PanningMode="VerticalOnly">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="What's New:" FontWeight="Bold" FontSize="18"/>
</Grid>
</Window>