#c# #wpf #xaml
#c# #wpf #xaml
Вопрос:
Я использую элемент контрольного списка из расширенного инструментария WPF (https://github.com/xceedsoftware/wpftoolkit/wiki/CheckListBox ) и я пытаюсь перечислить некоторые элементы флажка, но это не работает.
Вот мой XAML:
<xctk:WizardPage
x:Name="IntroPage"
Title="Welcome"
Description="This Wizard will walk you though something.">
<xctk:CheckListBox
Command="{Binding FeatureSelectedCommand}"
ItemsSource="{Binding Features}"
SelectedItemsOverride="{Binding JustSelectedFeatures}" />
... etc
И вот мой код .cs:
public partial class WizardWindow : Window
{
public ObservableCollection<string> Features { get; set; }
public ObservableCollection<string> JustSelectedFeatures { get; set; }
public WizardWindow()
{
InitializeComponent();
Features = new ObservableCollection<string>(new List<string>(new string[] {
"item1",
"item2",
"item3"}));
JustSelectedFeatures = new ObservableCollection<string>(Features);
}
... etc
Почему контрольный список не обновляется тремя элементами? Функции списка должны обновлять контрольный список, но этого не происходит, и я понятия не имею, почему.
Комментарии:
1. Выражение
ItemsSource="{Binding Features}"
требует, чтобы DataContext контрольного списка содержал исходный объект привязки, то есть экземпляр класса со свойством Features . Значение DataContext обычно наследуется от родительского окна или страницы. Поскольку здесь Window / Page также является классом, которому принадлежит свойство source, заданноеDataContext = this;
в конструкторе Window / Page .2. Это работает после добавления
DataContext = this
, спасибо!