この記事では ListBox に表示されたアイテムの選択方式を変更する方法について説明をします。
公式サイト情報はコチラを参照してください。
環境
| 開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
| Framework | Microsoft .NET Framewohttps://blog.hiros-dot.net/?p=11007rk Version 4.8.04161 |
アイテムの選択方法を設定する
ListBox に表示されたアイテムは、通常1つしか選択できませんが、SelectionMode プロパティの値を変更することで、複数のアイテムを選択することもで来ます。
SelectionMode プロパティには、以下に示す SelectionMode 列挙体の値を指定することができます。
| 値 | 説明 |
| Single | 単一のアイテムを選択できます(既定値) |
| Multiple | 複数のアイテムを選択できます。 |
| Extended | [Ctrl]キーや[Shift]キーを押しながら複数のアイテムを選択できます。 |
以下に、アイテムの選択方法を変更する例を示します。
この例では、SelectionMode に Multiple を指定して、複数のアイテムを選択できるようにしています。
XAML の例
<Window
x:Class="WinUISample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:WinUISample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<ListBox x:Name="myListBox"
SelectionMode="Multiple"
ItemsSource="{x:Bind employees}"
DisplayMemberPath="Name" />
</StackPanel>
</Window>
C# の例
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using System.Collections.ObjectModel;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace WinUISample
{
/// <summary>
/// An empty window that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainWindow : Window
{
ObservableCollection<Employee> employees = new ObservableCollection<Employee>();
public MainWindow()
{
this.InitializeComponent();
// アイテムを複数選択できるようにする
myListBox.SelectionMode = SelectionMode.Multiple;
for (int i = 1; i <= 3; i++)
{
Employee employee = new Employee();
employee.Name = $"User{i.ToString()}";
employees.Add(employee);
}
}
public class Employee
{
public string Name { get; set; }
}
}
}
WinUi Tips
本サイトでまとめている WinUI Tips の一覧はこちらから確認できます。
Please follow and like us:

コメント