在WPF应用程序的网格中水平移动按钮

qhhrdooz  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(124)

我的WPF应用程序有许多按钮,它们排列在1行上,如下图所示:

我想要的:当用户点击左箭头时,按钮将向左移动1列,如下所示,对于右箭头,反之亦然

我可以在WPF中这样做吗?任何帮助都将不胜感激。

d6kp6zgx

d6kp6zgx1#

您需要根据视图调整控件的大小。

private void leftBtn_Click(object sender, RoutedEventArgs e)
{
    scrollView.ScrollToHorizontalOffset(scrollView.HorizontalOffset - 220);
}

private void rightBtn_Click(object sender, RoutedEventArgs e)
{
    scrollView.ScrollToHorizontalOffset(scrollView.HorizontalOffset + 220);

}

 <Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="auto"/>
    </Grid.ColumnDefinitions>
    <Button x:Name="leftBtn" Grid.Column="0" Margin="5" Click="leftBtn_Click">Left</Button>
    <ScrollViewer Width="660" x:Name="scrollView" Grid.Column="1" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden">
            <StackPanel Orientation="Horizontal">
                <Button Margin="10" Width="200">Button1</Button>
                <Button Margin="10" Width="200">Button2</Button>
                <Button Margin="10" Width="200">Button3</Button>
                <Button Margin="10" Width="200">Button4</Button>
                <Button Margin="10" Width="200">Button5</Button>
                <Button Margin="10" Width="200">Button6</Button>
            </StackPanel>
        </ScrollViewer>
    <Button x:Name="rightBtn" Grid.Column="2" Margin="5" Click="rightBtn_Click">Right</Button>
    
</Grid>

相关问题