0
내 간단한 코드는 다음과 같습니다DataBound 컬렉션에 항목을 추가 할 때 내보기가 업데이트되지 않는 이유는 무엇입니까?
모델
class Playlist : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string PropertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
}
private ObservableCollection<Track> _tracks;
public ObservableCollection<Track> Tracks
{
get
{
return _tracks;
}
set
{
_tracks = value;
NotifyPropertyChanged("Tracks");
}
}
}
뷰 모델을
class HubPageViewModel : INotifyPropertyChanged
{
private Playlist _currentPlaylist;
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
public Playlist CurrentPlaylist
{
get
{
return _currentPlaylist;
}
set
{
_currentPlaylist = value;
NotifyPropertyChanged("CurrentPlaylist");
}
}
public HubPageViewModel()
{
_currentPlaylist = new Playlist();
}
}
보기
public sealed partial class HubPage : Page
{
private HubPageViewModel _hubPageViewModel;
public HubPageViewModel HubPageViewModel
{
get
{
return _hubPageViewModel;
}
}
public HubPage()
{
this.InitializeComponent();
viewModel = new HubPageViewModel();
}
}
XAML
<Page
x:Class="MyProject.HubPage"
DataContext="{Binding HubPageViewModel , RelativeSource={RelativeSource Self}}"
mc:Ignorable="d">
<snip>
<HubSection x:Uid="HubSection5" Header="Now Playing"
DataContext="{Binding CurrentPlaylist}" HeaderTemplate="{ThemeResource HubSectionHeaderTemplate}">
<DataTemplate>
<ListView
AutomationProperties.AutomationId="ItemListViewSection5"
AutomationProperties.Name="Items In Group"
SelectionMode="None"
IsItemClickEnabled="True"
ItemsSource="{Binding Tracks}"
ItemClick="ItemView_ItemClick"
ContinuumNavigationTransitionInfo.ExitElementContainer="True">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,27.5" Holding="StackPanel_Holding">
<TextBlock Text="{Binding Title}" Style="{ThemeResource ListViewItemTextBlockStyle}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DataTemplate>
</HubSection>
<snip>
왜 추가하거나 제거하지 않을 때 내보기 업데이트를 수행하는 Track
내 Playlist
에?
'model'과'viewmodel'의 의미를 오해 한 것 같습니다. –
@HamletHakobyan 아마도이 코드는 단순하다는 것을 기억하십시오. –
관련 XAML도 제공 할 수 있습니까? –