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

    效果:

  • 相关阅读:
    世界疫情可视化开发(一)
    世界疫情可视化开发(三)-- world.jsp
    团队冲刺5
    课下作业1-扩展阅读
    团队冲刺4
    团队冲刺3
    冲刺个人感想
    团队冲刺开始
    Android Studio Toast(吐司)的基本使用
    GridLayout(网格布局)
  • 原文地址:https://www.cnblogs.com/527289276qq/p/4370006.html
Copyright © 2011-2022 走看看