4

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

1 に答える 1