
控件名:MultiSelectComboBox
作 者:WPFDevelopersOrg -
.NET40;Visual Studio 2022;MultiSelectComboBox 继承 ListBox 。IsSelectAllActive 是否支持显示全选,默认 false 。SelectAllContent 全选控件的 Content,默认显示 全选 。Delimiter 分隔符,默认显示 ; 。Text 显示选择的所有 Item 。ComboBox 依赖属性一致。
1 ) MultiSelectComboBox.xaml 代码如下: Github|MultiSelectComboBox
码云|MultiSelectComboBox
2 ) MultiSelectComboBoxItem.cs 代码如下:
using System.Windows.Controls; namespace WPFDevelopers.Controls { public class MultiSelectComboBoxItem : ListBoxItem { } } 3 ) MultiSelectComboBox.xaml 代码如下: Github|MultiSelectComboBox.xaml
码云|MultiSelectComboBox.xaml
4 ) MultiSelectComboBoxExample.xaml 代码如下:
<UserControl x:Class="WPFDevelopers.Samples.ExampleViews.MultiSelectComboBoxExample" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:WPFDevelopers.Samples.ExampleViews" xmlns:wpfdev="https://github.com/WPFDevelopersOrg/WPFDevelopers" xmlns:cOntrols="clr-namespace:WPFDevelopers.Samples.Controls" xmlns:model="clr-namespace:WPFDevelopers.Sample.Models" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <UserControl.Resources> <model:HospitalList x:Key="myHospitalList"/> </UserControl.Resources> <UniformGrid Columns="2"> <wpfdev:MultiSelectComboBox VerticalCOntentAlignment="Center" HorizOntalAlignment="Center" Delimiter="^" Width="200"> <wpfdev:MultiSelectComboBoxItem>Option 1</wpfdev:MultiSelectComboBoxItem> <wpfdev:MultiSelectComboBoxItem>Option 2</wpfdev:MultiSelectComboBoxItem> <wpfdev:MultiSelectComboBoxItem>Option 3</wpfdev:MultiSelectComboBoxItem> <wpfdev:MultiSelectComboBoxItem>Option 4</wpfdev:MultiSelectComboBoxItem> <wpfdev:MultiSelectComboBoxItem>Option 5</wpfdev:MultiSelectComboBoxItem> </wpfdev:MultiSelectComboBox> <wpfdev:MultiSelectComboBox VerticalCOntentAlignment="Center" HorizOntalAlignment="Center" IsSelectAllActive="True" ItemsSource="{Binding Source={StaticResource myHospitalList}}" DisplayMemberPath="DoctorName" SelectedValuePath="ID" Width="200"> </wpfdev:MultiSelectComboBox> </UniformGrid> </UserControl> 
1 ragnaroks 2023-02-02 11:47:51 +08:00 难能可贵还在坚持 WPF ,现在 dotnet 做图形界面应用程序一般都是 blazor desktop ,MVU (类 react )加点样式表实现这种东西快得很。 |