【问题标题】:What is the purpose of "Design" folder and "Skins" folder in MVVM WPF application created with MVVM Light Toolkit V 4.0?使用 MVVM Light Toolkit V 4.0 创建的 MVVM WPF 应用程序中的“Design”文件夹和“Skins”文件夹的用途是什么?
【发布时间】:2013-05-27 15:20:05
【问题描述】:

请原谅我。我是 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 文件?

【问题讨论】:

    标签: wpf mvvm-light


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      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/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-19
        • 2016-12-05
        • 1970-01-01
        • 1970-01-01
        • 2020-11-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多