代码之家  ›  专栏  ›  技术社区  ›  bitbonk

为Blend和V提供设计时视图模型数据

  •  3
  • bitbonk  · 技术社区  · 15 年前

    在基于MVVM的应用程序中,我必须在设计时提供什么选项来提供ViewModel数据,这样我们的设计人员才能在Blend3(和Vs2008)中看到一些东西。你好吗?我能用mc吗:不知何故,我是无知的?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Brad Tutterow    15 年前

    是的,表情混合可以帮助你。使用“数据”选项卡创建与生产数据形状相同的示例数据。创建数据源时,请确保取消选中“在应用程序运行时启用示例数据”。

    Sample Data http://www.smips.com/brad/stackoverflow/design-model1.jpg

    创建示例数据后,将页面的DataContext设置为XAML中的示例数据。这将使设计人员在混合中打开页面时看到示例数据。

    <navigation:Page DataContext={StaticResource MyFakeDesignData}
    

    在已加载处理程序的代码中,编写代码以将DataContext设置为真实模型。由于此代码仅在应用程序运行时运行,并且您已告知示例数据在应用程序运行时不可用,这意味着运行应用程序将获得真实数据。

    private void Home_Loaded(object sender, RoutedEventArgs e)
    {
        DataContext = new MyRealViewModel();
    }
    
        2
  •  3
  •   Goran    13 年前

    使用VS2010,您可以使用 Design-Time attributes (适用于SL和WPF)。我通常有一个模拟数据源,所以这只是一个问题:

    • 添加命名空间声明

      xmlns:d=“http://schemas.microsoft.com/expression/blend/2008”

    • 将模拟数据上下文添加到窗口/控件资源

      <usercontrol.resources> <viewModels:mockXviewModel x:key=“designviewModel”/> </usercontrol.resources>

    • 设置设计时数据上下文

      <网格D:DataContext=“绑定源=静态资源设计视图模型”> …

    工作得很好。