Xceed チェック可能なコンボボックスを使用しています。コンボボックスで選択したチェックボックスに応じてデフォルトのテキストを表示したいのですが、その方法がわかりません。
例えば:
テキスト ボックスの内容 (赤い矢印) は次のようになります。
- 何も選択されていない場合:「選択してください」
- すべてを選択した場合:「すべての人」
- 1 つ以上が選択されている場合: 「特定の選択」
お気に入り:
サンプルコード:
XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Title="MainWindow" Height="350" Width="525">
<Grid>
<xctk:CheckComboBox x:Name="_checkComboBox"
Height="22"
VerticalAlignment="Stretch"
ItemsSource="{Binding Names}"
SelectedItemsOverride="{Binding SelectedNames}"
DisplayMemberPath="Title"
Delimiter=", "
Width="100"/>
</Grid>
</Window>
CS:
using System.Windows;
namespace WpfApplication1
{
using System.Collections.ObjectModel;
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
_checkComboBox.DataContext = this;
Names = new ObservableCollection<People>()
{
new People() { Title = "Mikel" },
new People() { Title = "Tom" },
new People() { Title = "Jennifer" },
new People() { Title = "Megan" },
};
SelectedNames = new ObservableCollection<People>();
}
public ObservableCollection<People> Names
{
get;
set;
}
public ObservableCollection<People> SelectedNames
{
get;
set;
}
}
public class People
{
public string Title
{
get;
set;
}
}
}