gpt4 book ai didi

c# - ScrollViewer 不适用于 wpf 中的网格

转载 作者:行者123 更新时间:2023-11-30 20:00:40 26 4
gpt4 key购买 nike

我想在我的网格上有一个垂直滚动条,这看起来很简单,但出于某种原因它就是行不通。当我将 VerticalScrollBarVisibility 设置为可见时,它会显示但什么也不做。当它设置为自动时,它根本不会显示。

我已阅读此网站上的建议,但它似乎对我不起作用。我知道行应该设置为固定高度或 * 并且我有两者的组合。我还尝试按照建议设置网格的最大高度和滚动条的高度,但这些都不起作用。

我是这样设置的(网格在选项卡内):

</TabItem.Header>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid Name="CSGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition Height="5"/>
<RowDefinition Height="1"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
...

然后我有大量的行,其内容是我通过 C# 代码设置的,如果这有所不同的话。所有的高度都设置为 20。之后我在网格中还有一些矩形和文本 block ,我认为没有什么是有问题的 - 除非它们会以某种方式有所作为?

在代码中,我将文本添加到行中,如下所示:

TextBlock hist1 = new TextBlock();
TextBlock hist2 = new TextBlock();
TextBlock hist3 = new TextBlock();
TextBlock hist4 = new TextBlock();
TextBlock hist5 = new TextBlock();

string[] allHist = File.ReadAllLines("MedicalHistory.txt");

hist1.Text = allHist[0];
hist2.Text = allHist[1];
hist3.Text = allHist[2];
hist4.Text = allHist[3];
hist5.Text = allHist[4];

CSGrid.Children.Add(hist1);
CSGrid.Children.Add(hist2);
CSGrid.Children.Add(hist3);
CSGrid.Children.Add(hist4);
CSGrid.Children.Add(hist5);

Grid.SetColumn(hist1, 0);
Grid.SetColumn(hist2, 0);
Grid.SetColumn(hist3, 0);
Grid.SetColumn(hist4, 0);
Grid.SetColumn(hist5, 0);

Grid.SetRow(hist1, 5);
Grid.SetRow(hist2, 6);
Grid.SetRow(hist3, 7);
Grid.SetRow(hist4, 8);
Grid.SetRow(hist5, 9);

任何帮助将不胜感激

最佳答案

在您的网格中使用 ScrollViewer.CanContentScroll="True":

<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid Name="CSGrid" ScrollViewer.CanContentScroll="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition Height="5"/>
<RowDefinition Height="1"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
...

关于c# - ScrollViewer 不适用于 wpf 中的网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com