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

    效果:

  • 相关阅读:
    Java中String做为synchronized同步锁
    99%的人都理解错了GET与POST的区别
    为什么Java中只有值传递
    解决maven打包时,会编译特定文件导致文件不可用
    Java使用icepdf转高清图片
    iText输出中文
    Error:(1, 1) java: 非法字符: ‘ufeff’
    java根据模板生成pdf
    携程Apollo统一配置中心的搭建和使用
    1008
  • 原文地址:https://www.cnblogs.com/527289276qq/p/4370006.html
Copyright © 2011-2022 走看看