【发布时间】:2011-07-24 23:01:06
【问题描述】:
我正在尝试将一些 XAML 代码绑定到我的 ViewModel 中的属性。
<Grid Visibility="{Binding HasMovies, Converter={StaticResources VisibilityConverter}}">
...
</Grid>
我的 ViewModel 是这样设置的:
private bool _hasMovies;
public bool HasMovies
{
get { return _hasMovies; }
set { _hasMovies = value; RaisePropertyChanged("HasMovies"); }
}
在 ViewModel 的构造函数中,我设置了 HasMovies 链接:
MovieListViewModel()
{
HasMovies = CP.Connection.HasMovies;
}
在CP中:
public bool HasMovies
{
get { return MovieList != null && MovieList.Count > 0; }
}
private ObservableCollection<Movie> _movies;
public ObservableCollection<Movie> MovieList
{
get { return _movies; }
set
{
_movies = value;
RaisePropertyChanged("MovieList");
RaisePropertyChanged("HasMovies");
_movies.CollectionChanged += MovieListChanged;
}
}
private void MovieListChanged(object sender, NotifyCollectionChangedEventArgs e)
{
RaisePropertyChanged("HasMovies");
}
我做错了什么?我应该如何更改此绑定以使其反映CP.Connection.HasMovies 的当前状态?
【问题讨论】:
标签: c# wpf xaml windows-phone-7 mvvm-light