簡體   English   中英

如何在 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 為垂直,teststack 為水平):

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);
}

這個圖像是我不需要的結果。因為我放了 20 個元素來顯示,但沒有滾動條有 12 個元素可以看到。 我的理想是在元素下的此圖像中可以看到水平滾動條。 如果我以錯誤的方式問我的問題,請建議我進行編輯。

嘗試沒有ScrollViewer HeightWidth

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM