ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

WPFListBox的选择

2021-06-29 15:05:32  阅读:239  来源: 互联网

标签:Console SelectedItem SelectedItems 选择 QjdckjpVemnepybg WPFListBox SelectedIndex 


title author date CreateTime categories
WPF ListBox 的选择 lindexi 2019-01-25 21:43:17 +0800 2018-2-13 17:23:3 +0800 WPF

本文告诉大家在 ListBox 做选择时,多选时 SelectedItem 和 SelectedIndex 的值。

首先写一个界面,两个按钮和一个ListBox ,点击第一个按钮选择多个元素,点击第二个按钮就显示当前的 SelectedItem 和 SelectedIndex

    <Grid>
        <ListBox x:Name="QjdckjpVemnepybg" SelectionMode="Multiple"></ListBox>
        <Button Width="100" Height="100" Click="ButtonBase_OnClick"></Button>
        <Button Margin="100,10,10,10" Width="100" Height="100" Click="RyltnqiUmqgwuz_OnClick"></Button>
    </Grid>

在点击前需要给 ListBox 数据,请看下面

        public MainWindow()
        {
            InitializeComponent();
            QjdckjpVemnepybg.ItemsSource = FyuzbqklBxdk;

            for (int i = 0; i < 100; i++)
            {
                FyuzbqklBxdk.Add(i.ToString());
            }
        }

        public ObservableCollection<string> FyuzbqklBxdk { get; } = new ObservableCollection<string>();

点击第一个按钮选择多个元素

        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            QjdckjpVemnepybg.SelectedItems.Clear();
            QjdckjpVemnepybg.SelectedItems.Add(FyuzbqklBxdk[2]);
            QjdckjpVemnepybg.SelectedItems.Add(FyuzbqklBxdk[5]);
        }

点击第二个按钮显示 SelectedItem 和 SelectedIndex

        private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
        {
            Console.WriteLine(QjdckjpVemnepybg.SelectedItem);
            Console.WriteLine(QjdckjpVemnepybg.SelectedIndex);
        }

可以看到,点击第一个按钮之后,SelectedItem 和 SelectedIndex 都是 2 因为他会显示多选的第一个。

如果选择的是 SelectedItem ,那么 SelectedItems 就只有 SelectedItem 的元素

      private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            QjdckjpVemnepybg.SelectedItem = FyuzbqklBxdk[2];
        }

        private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
        {
            Console.WriteLine(QjdckjpVemnepybg.SelectedItems.Count);
            foreach (var temp in QjdckjpVemnepybg.SelectedItems)
            {
                Console.WriteLine(temp);
            }
        }

如果选择是 SelectedIndex ,那么 SelectedItems 有对应序号的元素

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            QjdckjpVemnepybg.SelectedIndex = 2;
        }

        private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
        {
            Console.WriteLine(QjdckjpVemnepybg.SelectedItems.Count);
            foreach (var temp in QjdckjpVemnepybg.SelectedItems)
            {
                Console.WriteLine(temp);
            }
        }

如果这时 SelectedIndex 为 -1 ,那么 SelectedItems 没有选择元素

        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            QjdckjpVemnepybg.SelectedIndex = -1;
        }

        private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
        {
            Console.WriteLine(QjdckjpVemnepybg.SelectedItems.Count);
            foreach (var temp in QjdckjpVemnepybg.SelectedItems)
            {
                Console.WriteLine(temp);
            }
        }

如果这时的 SelectedItems 没有选择元素,那么 SelectedIndex 是 -1

如果这时没有开启多选,那么在 SelectedItem 选中元素时,SelectedItems 只有他选中的。所以一般可以通过 SelectedItems 判断当前选中的。

标签:Console,SelectedItem,SelectedItems,选择,QjdckjpVemnepybg,WPFListBox,SelectedIndex,
来源: https://blog.51cto.com/u_11283245/2954160

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有