首页 > 解决方案 > Avalonia 的 ReactiveUI 示例:UserControl 视图不起作用

问题描述

我尝试使用带有 ReactiveUI 的 Avalonia 来实现Reactive UI 示例。搜索有效,我可以在控制台上打印由此产生的元素,并且 UI 中的每个元素都有一个“插槽”(行出现但为空),但 NuggetDetailView 不会显示为列表的项目。

我已经在Initialize我的 Avalonia 应用程序的方法中为 ViewModel 扫描激活了视图:

    public class App : Application
    {
        public override void Initialize()
        {
            AvaloniaXamlLoader.Load(this);
            Locator.CurrentMutable.RegisterViewsForViewModels(Assembly.GetCallingAssembly());
        }
    ....
    }

我没有收到任何错误,所以我对自己做错了什么有点迷茫。

先感谢您,

标签: c#.net-coremvvmreactiveuiavaloniaui

解决方案


原来基于反射的视图扫描不起作用。我变了

Locator.CurrentMutable.RegisterViewsForViewModels(Assembly.GetCallingAssembly());

Locator.CurrentMutable.Register(() => new NugetDetailsView(), typeof(IViewFor<NugetDetailsViewModel>));

它奏效了


推荐阅读