1

我包你的原谅。我是 MVVM 的初学者。我安装了 MVVM Light Toolkit V 4.0 并尝试用它创建一个 WPF MVVM 应用程序项目。项目创建成功。项目中有以下文件夹:“Design”、“Model”、“Skins”和“ViewModel”。我清楚地了解“模型”和“视图模型”文件夹的必要性。但是“设计”和“皮肤”文件夹的目的是什么?文件夹“Design”包含一个文件 DesignDataService.cs,其内容如下:

using System;
using MvvmLight1.Model;

namespace MvvmLight1.Design
{
    public class DesignDataService : IDataService
    {
        public void GetData(Action<DataItem, Exception> callback)
        {
            // Use this to create design time data

            var item = new DataItem("Welcome to MVVM Light [design]");
            callback(item, null);
        }
    }
}

Skins 文件夹包含一个 MainSkin.xaml 文件,其内容如下:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

</ResourceDictionary>

请解释一下:MVVM WPF 应用程序中“Design”文件夹(及其内容)和“Skins”文件夹(及其内容)的目的是什么?我应该在哪里放置代表 MVVM 应用程序中视图的 xaml 文件?

4

2 回答 2

1

设计文件夹提供设计时数据。帮助您在 VS 中设计 UI 的数据或与在运行时不会应用于您的项目的虚拟数据进行表达式混合的数据。

皮肤只是您项目中的资源集合。Style's, ControlTemplates 等可以进入该文件夹。

codeplex的 MVVM-light 浏览了该页面中的 2 个视频,其中库的作者展示了如何使用设计时数据。

于 2013-05-27T15:28:56.417 回答
0

Visual Studio 或 Blend 中的 WPF 设计器能够在设计期间运行应用程序 - 在这种情况下,设计团队实际上意味着在此期间您设计应用程序的 GUI。大多数应用程序设计只有在设计中充满数据时才能工作,但调用数据库或其他东西是没有意义的。总之,该文件夹design包含所有为设计时提供数据的类。blendability由于工具 Blend,如果经常调用此行为。此链接可能有助于了解更多信息:

http://www.robfe.com/2009/08/design-time-data-in-expression-blend-3/

http://www.robfe.com/2009/12/design-time-data-in-expression-blend-3-revisited/

该文件夹skins通常包含 WPF 控件的自定义设计。有关更多信息,此网址可能会有所帮助:http ://www.c-sharpcorner.com/uploadfile/raj1979/skins-in-wpf/

于 2013-05-27T15:30:42.160 回答