zoukankan      html  css  js  c++  java
  • 轻量级MVVM框架Stylet介绍(2)快速入门

    想要尽快启动和运行吗?跟着作者马上行动!

    注意:如果您要查找示例应用程序,请下载源代码并查看"示例"文件夹。

    以下说明将设置一个最小骨架项目。

    • 自动选项
    1. .NET Framework

    注意:如果项目对 NuGet 包使用包引用,或者使用的是 VS2013 或更早版本,则此操作将不起作用。请改为按照下面的"手动选项"部分操作。

    如果您不熟悉 Stylet(并且您运行的是 VS2015 或更高版本),这是最简单的入门方法。

    打开 Visual Studio,然后创建一个新的WPF Application项目
    打开"NuGet"(右键单击项目 ->管理 NuGet 包"),搜索“Stylet.Start”,然后安装该包。
    这将为您提供一个工作框架项目。

    安装完成后,卸载 Stylet.Start。

    祝您编码愉快!

    1. .NET Core
      对于 .NET Core 项目,最快的入门方法是使用 Stylet 的模板。

    打开要在其中创建新项目的命令窗口,然后使用以下命令安装 Stylet 模板:

    dotnet new -i Stylet.Templates
    然后使用以下命令创建新项目:

    dotnet new stylet -o MyStyletProject

    • 手动选项
      如果您不想使用该包,而希望创建自己的框架项目,请按照本节中的说明进行操作。

    打开 Visual Studio,然后创建一个新的WPF Application项目,
    打开"NuGet"(右键单击项目 ->管理 NuGet 包"),然后安装Stylet包。
    首先,删除MainWindow.xaml和MainWindow.xaml.cs ,您并不需要它们。

    接下来,您将需要一个根视图和一个 ViewModel。视图必须是Window,但没有其他限制。

    
    <Window x:Class="Stylet.Samples.Hello.RootView"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Height="300" Width="300">
        <TextBlock>Hello, World</TextBlock>
    </Window>
    

    ViewModel如下:

    public class RootViewModel
    {
    }
    

    接下来,您将需要一个引导程序。现在,您不需要任何特殊的东西 - 只需要一些东西来识别您的 RootViewModel。稍后,你将能够在此处配置 IoC 容器以及其他应用程序级内容。

    public class Bootstrapper : Bootstrapper<RootViewModel>
    {
    }
    

    最后,您需要将 Stylet 添加到App.xaml的资源中,并确定为您在上面创建的引导程序。

    它应该看起来像这样:

    
    <Application x:Class="Stylet.Samples.Hello.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:s="https://github.com/canton7/Stylet"
                 xmlns:local="clr-namespace:Stylet.Samples.Hello">
        <Application.Resources>
           <s:ApplicationLoader>
                <s:ApplicationLoader.Bootstrapper>
                    <local:Bootstrapper/>
                </s:ApplicationLoader.Bootstrapper>
            </s:ApplicationLoader>
        </Application.Resources>
    </Application>
    

    就是这样!运行它,你会得到一个带有"Hello World"的窗口。

    • 应用程序加载器
      值得注意的是,上面是一个资源字典子类。这允许将Stylet加载到内置资源中。您也可以选择不加载 Stylet 的资源,如下所示:
    <s:ApplicationLoader>
    
    <s:ApplicationLoader LoadStyletResources="False">
       ...
    </s:ApplicationLoader>
    

    如果您想将自己的资源/资源词典添加到应用程序中,最简单的方法是这样的:

    <Application.Resources>
        <s:ApplicationLoader>
            <s:ApplicationLoader.Bootstrapper>
                <local:Bootstrapper/>
            </s:ApplicationLoader.Bootstrapper>
    
            <Style x:Key="MyResourceKey">
                ...
            </Style>
    
            <s:ApplicationLoader.MergedDictionaries>
                <ResourceDictionary Source="MyResourceDictionary.xaml"/>
            </s:ApplicationLoader.MergedDictionaries>
        </s:ApplicationLoader>
    </Application.Resources>
    

    如果对上面的配置感到不爽,也可以这样做:

    
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <s:ApplicationLoader>
                    <s:ApplicationLoader.Bootstrapper>
                        <local:Bootstrapper/>
                    </s:ApplicationLoader.Bootstrapper>
                </s:ApplicationLoader>
    
                <ResourceDictionary Source="MyResourceDictionary.xaml"/>
            </ResourceDictionary.MergedDictionaries>
    
            <Style x:Key="MyResourceKey">
                ...
            </Style>
        </ResourceDictionary>
    </Application.Resources>
    
  • 相关阅读:
    Openssl命令详解
    Openssl命令详解
    Mac根目录下无法创建文件或目录
    解决 mysql from_base64 函数返回乱码的问题
    elementUI日期选择器 el-date-picker根据所选日期选择禁用
    el-dialog设置为点击弹窗以外的区域不自动关闭弹窗
    在vue项目中MD5加密的使用方法
    bower install 报错fatal: unable to access 'https://github.com/angular/bower-angular-touch.git/'类错误解决方法
    angular项目grunt serve报错Cannot find where you keep your Bower packages
    移动端开发--》适配各种机型样式大小
  • 原文地址:https://www.cnblogs.com/qouoww/p/15785658.html
Copyright © 2011-2022 走看看