在 CodeProject 的这篇文章之后,我创建了一个使用 WPF 和 MVVM 的应用程序。
我有一个视图,TVSeriesView
,它有一个TVSeriesViewModel
. 这两个使用 DataTemplate 连接,这是在文章之后完成的。
<DataTemplate DataType="{x:Type Implementation:TVSeriesViewModel}">
<TVSeriesLibrary:TVSeriesView />
</DataTemplate>
这个想法是将我的模型传递TVSeries
给这个 ViewModel,因为我有一个TVSeries
在 ViewModel 中命名的属性。设置此属性后,我将填充其他属性,例如Title
,Cover
等等。这些属性旨在绑定到视图中的控件。
public class TVSeriesViewModel : ViewModelBase, ITVSeriesViewModel
{
private TVSeries _tvSeries;
private string _title;
private ImageSource _cover;
public TVSeries TVSeries
{
get
{
return this._tvSeries;
}
set
{
this._tvSeries = value;
}
}
public string Title
{
get
{
return this._title;
}
set
{
this._title = value;
OnPropertyChanged("Title");
}
}
public ImageSource Cover
{
get
{
return this._cover;
}
set
{
this._cover = value;
OnPropertyChanged("Cover");
}
}
}
首先,这听起来像是正确的方法吗?
接下来,有谁知道如何将参数(TVSeries
对象)传递给 ViewModel,当TVSeriesView
?
最后,有谁知道我如何直接访问视图中的资源?例如,如果我不想使用数据绑定,而是想像这样直接设置图像:
myImage.ImageSource = myImageSource