C# 将参数传递给ViewModel并显示其数据

C# 将参数传递给ViewModel并显示其数据,c#,wpf,visual-studio-2010,C#,Wpf,Visual Studio 2010,我已经创建了一个使用WPF和MVVM的应用程序 我有一个视图,TVSeriesView,它有一个TVSeriesView模型。这两个模块使用DataTemplate连接,DataTemplate在本文之后完成 这样做的目的是将我的模型TVSeries传递给这个ViewModel,因为我在ViewModel中有一个名为TVSeries的属性。设置此属性后,我将填充其他属性,如标题、封面等。这些属性将绑定到视图中的控件 public class TVSeriesViewModel : ViewM

我已经创建了一个使用WPF和MVVM的应用程序

我有一个视图,
TVSeriesView
,它有一个
TVSeriesView模型
。这两个模块使用DataTemplate连接,DataTemplate在本文之后完成


这样做的目的是将我的模型
TVSeries
传递给这个ViewModel,因为我在ViewModel中有一个名为
TVSeries
的属性。设置此属性后,我将填充其他属性,如
标题
封面
等。这些属性将绑定到视图中的控件

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");
        }
    }
}
首先也是最重要的,这听起来像是正确的方式吗

接下来,当显示
TVSeriesView
时,是否有人知道如何将参数(一个
TVSeries
对象)传递给ViewModel

最后,有人知道我如何直接访问视图中的资源吗?例如,如果我不想使用数据绑定,而是想直接这样设置图像:


myImage.ImageSource=myImageSource

视图和视图模型是模型的可能表示形式之一

您可以传递一个存储库句柄,该句柄最终将负责数据访问或存储 通过构造函数或
依赖项注入,通过属性/方法或 用更简单的方式,您可以在VM中编写DB访问代码(显然不建议这样做)


我更喜欢这里的订单。您的代码正在执行第三个选项。

当您不想使用绑定时,为什么要创建viewmodel?您是对的。我相信我会使用数据绑定。我只是觉得有时候直接访问控件可能更容易。我不确定我是否理解。我能请你举个例子吗?