【问题标题】:Silverlight MVVM question regarding views and viewmodels关于视图和视图模型的 Silverlight MVVM 问题
【发布时间】:2011-02-11 16:03:53
【问题描述】:

我对如何在视图模型更改时实现视图切换感到困惑。
我想做的例子:
我要制作的控件类似于向导控件。我有一个添加到向导步骤集合中的视图模型列表,以及一个当前项目视图模型。如何显示活动视图模型的视图并切换它们然后活动视图模型更改?我该如何绑定它们?
在 WPF 中我会使用 DataTemplate,但 Silverlight 不支持 x:Type。

<DataTemplate DataType="{x:Type ViewModel1}">
  <view:View1 />
</DataTemplate>

<DataTemplate DataType="{x:Type ViewModel2}">
  <view:View2 />
</DataTemplate>

【问题讨论】:

    标签: silverlight mvvm mvvm-light


    【解决方案1】:

    我认为向导是您应该为多个视图使用一个 ViewModel 的情况。

    您可以使用属性(IsPage1Visible、IsPage2Visible、...)、命令(PreviowsPageCommand、NextPageCommand、CancelComamnd)和所有逻辑在一个 VM 中控制每个视图的可见性。

    将向导的所有“页面”放在一个 UserControl 中,并将每个页面的可视性与布尔属性和 BooleanToVisibilityConverter 绑定。

    【讨论】:

      【解决方案2】:

      看看这个,它讨论了 SL/WPF 中的非线性导航以及如何维护状态。 http://karlshifflett.wordpress.com/2010/07/07/non-linear-navigation-in-silverlight-4/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-07
        • 2023-03-04
        • 2018-08-02
        • 1970-01-01
        相关资源
        最近更新 更多