你好我有ListBox的SelectedItem屬性存在問題。它只是不起作用。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>
視圖模型:
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 當我在列表框中選擇任何項目,它未分配給「WybranyFilm」變量。我不知道是什麼原因。我在其他視圖中使用了幾乎相同的解決方案,並且完美地工作。唯一的區別是我在那裏只有ListBox,它不是TabControl的一部分。
'Dictionary'oh lawd。不要與字典綁定。它不好用。 UI與KeyValue 實例綁定,而不是ListaFilmow實例。 –
Will