如何使用MVVM Light获取ViewModel中的所有View(UserControl)?

时间:2013-06-04 15:13:22

标签: silverlight mvvm mvvm-light silverlight-5.0

我正在使用MVVM Light,如果我使用arquitecture ViewModel =>我不知道如何获取ViewModel中的所有View。查看是可能的。

public MyViewModel : ViewModelBase
{
    public MyViewModel()
    {
        View = new AView();
    }

    public UIElement View { get; set; }
}

<UserControl x:Class="AView">
</UserControl>

但现在我无法切换。

我想导出(EXCEL,PDF等)所有UserControl(View),现在在MVVMLight我有View =&gt;视图模型:

<UserControl
    DataContext={Binding MyViewModel, Source=StaticResource Locator} >
</UserControl>

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您可以在后面的视图代码中设置View属性,如下所示:

public MyView : UserControl
{
    public MyViewModel ViewModel { get { return (this.DataContext as MyViewModel); } }
    public MyView()
    {
        InitializeComponent();
        this.Loaded += onLoaded;
    }
    void onLoaded(object sender, RoutedEventArgs e)
    {
        ViewModel.View = this;
    }
}