如何在 ScrollViewer 中滚动水平 StackPanel?
How to scroll a horizontal StackPanel in ScrollViewer?
我是 wpf 新手,需要帮助。我必须水平显示 n 个垂直元素(堆栈面板)。我使用水平堆栈面板将所有 n 个垂直堆栈面板放入其中,并将水平堆栈面板放入滚动查看器中。
这是下面的 xaml 代码:
`<Window x:Class="Results.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<telerik:RadButton x:Name="radButton" Content="Button" HorizontalAlignment="Left" Height="Auto" Margin="407,66,0,0" VerticalAlignment="Top" Width="Auto" Click="radButton_Click"/>
<Grid>
<ScrollViewer Height="96" Margin="10,115,0,0" Width="497" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<StackPanel x:Name="teststack" HorizontalAlignment="Left" Height="94" VerticalAlignment="Top" Width="497" Orientation="Horizontal"/>
</ScrollViewer>
</Grid>
</Grid>`
下面是生成n个元素的c#代码(其中col在vertical,teststack在horizontal):
for (int i = 0; i < arrowcount; i++)
{
StackPanel col = new StackPanel();
TextBox row = new TextBox();
Image img = new Image();
col.Children.Add(row);
col.Children.Add(img);
teststack.Children.Add(col);
}
this image 是我不想要的 result.because 我放了 20 个元素来显示,但是有 12 个元素可以在没有滚动条的情况下看到。我的理想是水平滚动条在此图像中的元素下可见。
如果我以错误的方式提出问题,请建议我修改。
尝试不使用 ScrollViewer
的 Height
和 Width
。
<ScrollViewer Margin="10,115,0,0" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<StackPanel x:Name="teststack" HorizontalAlignment="Left" Height="94" VerticalAlignment="Top" Width="497" Orientation="Horizontal"/>
</ScrollViewer>
我是 wpf 新手,需要帮助。我必须水平显示 n 个垂直元素(堆栈面板)。我使用水平堆栈面板将所有 n 个垂直堆栈面板放入其中,并将水平堆栈面板放入滚动查看器中。 这是下面的 xaml 代码:
`<Window x:Class="Results.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<telerik:RadButton x:Name="radButton" Content="Button" HorizontalAlignment="Left" Height="Auto" Margin="407,66,0,0" VerticalAlignment="Top" Width="Auto" Click="radButton_Click"/>
<Grid>
<ScrollViewer Height="96" Margin="10,115,0,0" Width="497" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<StackPanel x:Name="teststack" HorizontalAlignment="Left" Height="94" VerticalAlignment="Top" Width="497" Orientation="Horizontal"/>
</ScrollViewer>
</Grid>
</Grid>`
下面是生成n个元素的c#代码(其中col在vertical,teststack在horizontal):
for (int i = 0; i < arrowcount; i++)
{
StackPanel col = new StackPanel();
TextBox row = new TextBox();
Image img = new Image();
col.Children.Add(row);
col.Children.Add(img);
teststack.Children.Add(col);
}
this image 是我不想要的 result.because 我放了 20 个元素来显示,但是有 12 个元素可以在没有滚动条的情况下看到。我的理想是水平滚动条在此图像中的元素下可见。 如果我以错误的方式提出问题,请建议我修改。
尝试不使用 ScrollViewer
的 Height
和 Width
。
<ScrollViewer Margin="10,115,0,0" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<StackPanel x:Name="teststack" HorizontalAlignment="Left" Height="94" VerticalAlignment="Top" Width="497" Orientation="Horizontal"/>
</ScrollViewer>