轻量级MVVM框架Stylet介绍(2)快速入门

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

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

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

自动选项

  • .NET Framework

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

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

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

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

祝您编码愉快!

  • .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 和您自己的应用程序添加条目。最后,您需要将 Stylet 添加到资源中,并确定您在上面创建的引导程序。App.xamlStartUrixmlnsApplicationLoader

它应该看起来像这样:


<Application.Resources>
<s:ApplicationLoader>
<s:ApplicationLoader.Bootstrapper>
local:Bootstrapper/
</s:ApplicationLoader.Bootstrapper>
</s:ApplicationLoader>
</Application.Resources>

就是这样!运行它,你会得到一个带有"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.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>

上一篇:NATS_03:NATS发布/订阅机制


下一篇:Visual Studio 2022加载.Net Windows窗体designer一直加载不出来