WPF中ListBox控件选择多个数据项

2021-06-19 19:07

阅读:478

标签:wpf   tip   selected   initial   width   items   menu   data   context   

原文: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>aListBoxItem>
                ListBoxItem>bListBoxItem>
                ListBoxItem>cListBoxItem>
                ListBoxItem>dListBoxItem>
                ListBoxItem>eListBoxItem>
            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
{
    /// 
    /// MainWindow.xaml 的交互逻辑
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void btnShowSelectItems(object sender, RoutedEventArgs e)
        {
            string msg=string.Empty;
            Liststring> list = new Liststring>();
            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);
        }
    }
}

 

效果:
技术分享图片

 

技术分享图片

 

技术分享图片

 

WPF中ListBox控件选择多个数据项

标签:wpf   tip   selected   initial   width   items   menu   data   context   

原文地址:https://www.cnblogs.com/lonelyxmas/p/10275478.html


评论


亲,登录后才可以留言!