Есть листбокс в него подгружается перечисление курсов. Я хочу что бы при выборе одного из курса менялась привязка свойства ItemsSource (с помощью свойства SelectedItem выбранный элемент запишется в свойства, он же и должен привязаться в свойство ItemsSource). Свойства SelectedCource, Courses определены в визуальной модели окна. При попытке привязаться к нужному свойству у меня идёт выбор между свойствами класса Course. Как можно решить данную проблему?
<ListBox Grid.Row="1"
ItemsSource="{Binding Courses}"
SelectedItem="{Binding SelectedCourse}"
HorizontalContentAlignment="Left"
VirtualizingPanel.ScrollUnit="Pixel"
>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}"
>
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="ItemsControl.ItemsSource"
Value="{Binding SelectedCourse}"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Resources>
при выборе одного из курса менялась привязка свойства ItemsSource- а смысл такого? Перезапись того, что уже есть на экране, с помещением туда совершенно других данных, ну это прям очень фиговый UX, люди вам явно не скажут за такое спасибо. Не, ну если хотите, то пробуйте играться с триггерами самогоListBox, а не внутреннего объекта. А еще лучше, реализовать это на уровне VM слоя, ибо это, по сути, работа с данными, которые должны быть отображены. А так, я бы на вашем месте сделал бы примерно так. И да, не забывайте ставить метку C#! – EvgeniyZ Nov 25 '21 at 20:04TreeView, стилизуете, выводите, получаете красивое меню с выводом всех данных разом, где пользователь может свернуть то, что ему не нужно, выбрать другое и т.д. Я еще понял бы если у вас был бы разный контент, ок, но тогда почемуListBox? – EvgeniyZ Nov 25 '21 at 22:26