<Window x:Class="WpfTests.CheckedListBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="CheckedListBox" Height="300" Width="300"> <ListBox ItemsSource="{Binding TheList}"> <ListBox.ItemTemplate> <DataTemplate> <CheckBox IsChecked="{Binding IsSelected}" Content="{Binding TheText}"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Window>
using System; using System.Windows; using System.Collections.Generic; using System.Collections.ObjectModel; namespace WpfTests { public partial class CheckedListBox : Window { public ObservableCollection<BoolStringClass> TheList{ get; set; } public CheckedListBox() { InitializeComponent(); TheList = new ObservableCollection<BoolStringClass>(); TheList.Add(new BoolStringClass { IsSelected = true, TheText = "Some text for item #1" }); TheList.Add(new BoolStringClass { IsSelected = false, TheText = "Some text for item #2" }); TheList.Add(new BoolStringClass { IsSelected = false, TheText = "Some text for item #3" }); TheList.Add(new BoolStringClass { IsSelected = false, TheText = "Some text for item #4" }); TheList.Add(new BoolStringClass { IsSelected = false, TheText = "Some text for item #5" }); TheList.Add(new BoolStringClass { IsSelected = true, TheText = "Some text for item #6" }); TheList.Add(new BoolStringClass { IsSelected = false, TheText = "Some text for item #7" }); this.DataContext = this; } } public class BoolStringClass { public string TheText { get; set; } public bool IsSelected { get; set; } } }