小编Paa*_*ers的帖子

如何开始在 .net core 3 WPF 应用程序上使用 MvvmLight?

对于一个新项目,我想尝试新的 .net core 3.0 WPF 项目,我想将它与 MvvmLight 结合使用。但是,在 .net 核心中并与 Visual Studio Code 结合使用时,您不会获得任何脚手架或默认项目。然后还有一个谜团是如何让它工作......

我知道我需要在 app.xaml.cs、mainwindow.xaml 和 mainwindow.xaml.cs 中做一些事情。以及创建一些 ViewModelLocator 服务。但是 MvvmLight 的文档在这方面有点空洞。

我在 SO(MvvmLightLibsStd10 和 UWP)上发现了以下问题,但在我的情况下它并不完整,我也不确定我应该使用普通包还是特殊的 std10 版本。

2019 年 6 月 26 日更新, 我使用 MvvmLightLibsStd10 版本 5.4.1.1 使其与以下代码一起工作。

应用程序.xaml

    <Application.Resources>
        <ResourceDictionary>
            <vm:ViewModelLocator x:Key="Locator" xmlns:vm="clr-namespace:$AssemblyName$.ViewModel" />
        </ResourceDictionary>
    </Application.Resources>
Run Code Online (Sandbox Code Playgroud)

主窗口.xaml

        DataContext="{Binding ValidatorListViewModel, Source={StaticResource Locator}}">
Run Code Online (Sandbox Code Playgroud)

ViewModelLocator.cs

using GalaSoft.MvvmLight.Ioc;

namespace $AssemblyName$.ViewModel
{
    public class ViewModelLocator
    {
        public ViewModelLocator()
        {
            SimpleIoc.Default.Register<ValidatorListViewModel>();
        }

        public ValidatorListViewModel ValidatorListViewModel => SimpleIoc.Default.GetInstance<ValidatorListViewModel>();
    }
}
Run Code Online (Sandbox Code Playgroud)

data-binding wpf mvvm-light .net-core-3.0

7
推荐指数
1
解决办法
7813
查看次数

标签 统计

.net-core-3.0 ×1

data-binding ×1

mvvm-light ×1

wpf ×1