Здравствуйте, у меня есть проблема с strage с свойством SelectedItem ListBox. Это просто не работает.ListBox SelectedItem не работает в MVVM
Вот мой код:
XAML:
<TabControl HorizontalAlignment="Left" Margin="10,50,0,0" VerticalAlignment="Top" ItemsSource="{Binding WszystkieFilmy}" >
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Key}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ListBox HorizontalAlignment="Left" Height="500" VerticalAlignment="Top" Width="750" ItemsSource="{Binding Value.Filmy}" SelectedItem="{Binding Path=WybranyFilm, Mode=TwoWay}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
ViewModel:
public Film WybranyFilm
{
get { return zaznaczonyFilm; }
set
{
if (value != zaznaczonyFilm)
{
zaznaczonyFilm = value;
OnPropertyChanged("WybranyFilm");
}
}
}
public Dictionary<String, ListaFilmow> WszystkieFilmy
{
get { return wszystkieFilmy; }
set
{
if (wszystkieFilmy == value)
{
return;
}
wszystkieFilmy = value;
OnPropertyChanged("WszystkieFilmy");
}
}
И "Value.Filmy" является: ObservableCollection Когда я выбрать любой элемент в ListBox это не присваивается переменной «WybranyFilm». Я не знаю, в чем причина. Я использовал почти то же решение в другом представлении, и он отлично работает. Единственное отличие состоит в том, что у меня есть ListBox один, он не входит в TabControl.
'Словарь' oh lawd. НЕ ПРИНИМАЙТЕ С словарями. Это не очень хорошо работает. Пользовательский интерфейс является обязательным для экземпляров KeyValue , а не экземпляров ListaFilmow. –
Will