zoukankan      html  css  js  c++  java
  • WPF中ListBox控件选择多个数据项

    XAML:

    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <StackPanel>
                <TextBlock>在控件中一次选择多个数据项:</TextBlock>
                <ListBox SelectionMode="Multiple">
                    <ListBoxItem>a</ListBoxItem>
                    <ListBoxItem>b</ListBoxItem>
                    <ListBoxItem>c</ListBoxItem>
                    <ListBoxItem>d</ListBoxItem>
                    <ListBoxItem>e</ListBoxItem>
                </ListBox>
                <TextBlock>在控件中使用Ctrl一次选择多个数据项:</TextBlock>
                <ListBox x:Name="lbx" SelectionMode="Extended">
                    <ListBox.ContextMenu>
                        <ContextMenu>
                            <MenuItem Header="Show" Click="btnShowSelectItems"></MenuItem>
                        </ContextMenu>
                    </ListBox.ContextMenu>
                    <ListBoxItem>张三</ListBoxItem>
                    <ListBoxItem>李四</ListBoxItem>
                    <ListBoxItem>王五</ListBoxItem>
                    <ListBoxItem>赵六</ListBoxItem>
                    <ListBoxItem>孙七</ListBoxItem>
                </ListBox>
            </StackPanel>
        </Grid>
    </Window>


    C#:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfApplication1
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void btnShowSelectItems(object sender, RoutedEventArgs e)
            {
                string msg=string.Empty;
                List<string> list = new List<string>();
                if (lbx.SelectedItems != null && lbx.SelectedItems.Count > 1)
                {
                    //多选
                    foreach (ListBoxItem lbi in lbx.SelectedItems)
                    {
                        list.Add(lbi.Content.ToString());
                    }
                    msg = string.Join(",", list);
                }
                else if (lbx.SelectedItems != null && lbx.SelectedItems.Count == 1)
                {
                    //单选
                    msg = ((ListBoxItem)lbx.SelectedItem).Content.ToString();
                }
                else
                {
                    //没有选中任何项
                }
                MessageBox.Show(msg);
            }
        }
    }

    效果:

  • 相关阅读:
    PHP中GBK和UTF8乱码解决方案
    Ubuntu下的PHP开发环境架设
    Windows 7 IE主页被篡改,如何修复?
    提高代码质量:如何编写函数
    PhpStorm 10 破解方法
    PHP 常用的header头部定义汇总
    kindle 退出演示模式
    好程序与差程序Good Programming, Bad Programming
    如何让你的一天能有26小时?不完全是开玩笑
    毕业若干年,才知道自己原来认为的很多都是错的想法的成熟
  • 原文地址:https://www.cnblogs.com/527289276qq/p/4370006.html
Copyright © 2011-2022 走看看