设置垂直滚动条位置取决于列表中选定的项目

发布于 2024-11-16 13:50:33 字数 1180 浏览 3 评论 0原文

在我的小应用程序中,有一个按钮,一旦单击,列表视图中的第五个项目就会被选中。

问题是它超出了列表视图范围,我希望垂直滚动条向下滑动到 ,以便我可以看到所选项目。

我怎样才能做到这一点?

在此处输入图像描述

XAML:

<StackPanel>
    <Button Click="Button_Click">Find number 5</Button>
    <ListView x:Name="lst" ScrollViewer.VerticalScrollBarVisibility="Visible" Height="50">
        <ListView.Items>
            <ListViewItem>1</ListViewItem>
            <ListViewItem>2</ListViewItem>
            <ListViewItem>3</ListViewItem>
            <ListViewItem>4</ListViewItem>
            <ListViewItem>5</ListViewItem>
            <ListViewItem>6</ListViewItem>
            <ListViewItem>7</ListViewItem>
        </ListView.Items>
    </ListView>
</StackPanel>

C# 代码:

public partial class Window2 : Window
{
    public Window2()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        ((ListViewItem)lst.Items[4]).IsSelected = true;
    }
}

In my little app there's a button that once getting clicked, the fifth item in the listview getting selected.

the problem is that its out of the listview scope and I would like the vertical scroll bar to slide down to the so I can see the selected item.

How can I do that ?

enter image description here

XAML:

<StackPanel>
    <Button Click="Button_Click">Find number 5</Button>
    <ListView x:Name="lst" ScrollViewer.VerticalScrollBarVisibility="Visible" Height="50">
        <ListView.Items>
            <ListViewItem>1</ListViewItem>
            <ListViewItem>2</ListViewItem>
            <ListViewItem>3</ListViewItem>
            <ListViewItem>4</ListViewItem>
            <ListViewItem>5</ListViewItem>
            <ListViewItem>6</ListViewItem>
            <ListViewItem>7</ListViewItem>
        </ListView.Items>
    </ListView>
</StackPanel>

C# code:

public partial class Window2 : Window
{
    public Window2()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        ((ListViewItem)lst.Items[4]).IsSelected = true;
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

余生一个溪 2024-11-23 13:50:33

使用 ListView.ScrollIntoView 来实现你想要的:

lst.ScrollIntoView(lst.SelectedItem);

Use ListView.ScrollIntoView to achieve what you want:

lst.ScrollIntoView(lst.SelectedItem);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文