Мой список привязан к источнику элементов, а свойство selecteditem также привязано. Большая часть моей работы выполняется в свойстве selecteditem. На самом деле у меня есть два списка, для каждого элемента в первом списке есть несколько дочерних элементов в коллекции. В отношении всех элементов, выбранных в первом списке, их дочерние элементы должны быть добавлены во второй список.WPF ListBox выбранный элемент не изменен при использовании DataTemplate
Проблема заключается в выборе пункта (проверяя флажок) не вызывает свойство SelectedItem изменилось
XAML для моего управления ListBox являются
<ListBox SelectionMode="Multiple" ItemsSource="{Binding Charts,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedChart, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding ChartName}" VerticalAlignment="Center" IsChecked="{Binding IsChartSelected, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox ItemsSource="{Binding Tracks, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel Orientation="Horizontal">
<CheckBox VerticalAlignment="Center" IsChecked="{Binding IsTrackSelected}"/>
<TextBlock Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding TrackName}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
Мой выбор Диаграмма Изменены свойства в силу модель:
public ChartSourceForMultipleSelection SelectedChart
{
get { return _selectedChart; }
set
{
_selectedChart = value;
ChartSelectionChanged();
NotifyPropertyChanged("SelectedChart");
}
}
Как вы планируете получить уведомление просмотреть флажок checkbox/unchecked. Поскольку связанное свойство является частью сущности и не вызывает какого-либо события в виртуальной машине. – MegaMind
Ах, я не видел привязку 'SelectedItem', потому что она была вне экрана. В этом случае мои предыдущие комментарии об использовании 'ItemsControl' относятся только ко второму списку треков. Когда вы переключаете флажок в первом списке, выбирается ли родительский элемент «ListBoxItem»? –
Нет родительского элемента, который не выбирается, и это реальная проблема. – MegaMind