用于监视嵌套视图模型中的事件的完整且最小的示例?

时间:2015-10-22 19:34:49

标签: c# wpf mvvm viewmodel caliburn.micro

我无法破译我在嵌套视图模型中监视事件所需的全部内容(不要认为它是相关的,但我需要根据已填写的字段控制嵌套viewModel中的焦点)。当它没有嵌套时,一切都有效,但一旦我试图将它解决,一切都无效。

我试图将以下内容拼凑在一起,但仍在努力。是否有一个令人难以置信的彻底的傻瓜教程?

This one doesn't compile. Out dated?

https://github.com/Caliburn-Micro/Caliburn.Micro/issues/213

Caliburn.Micro nested ViewModels best practice

我在这里有一个父视图模型:

public EndUserUnloadViewModel(IEventAggregator eventAggregator)
        {
            this.eventAggregator = eventAggregator;
            this.eventAggregator.Subscribe(this);
            UnloaderRotaryVm = new UnloaderRotaryViewModel(eventAggregator);
            NotifyOfPropertyChange(() => UnloaderRotaryVm);
        }

查看:

  <DockPanel >

        <nsVi:UnloaderRotaryView DataContext="{Binding UnloaderRotaryVm, Mode=TwoWay}" HorizontalAlignment="Left"/>
        <!--<ContentControl Content="{Binding UnloaderRotaryVm}" />-->
        <!--cal:View.Model="{Binding UnloaderRotaryVm}"-->
    </DockPanel>

然后,这在孩子身上

    public UnloaderRotaryViewModel(IEventAggregator eventAggregator) 
    {
        this.eventAggregator = eventAggregator;
        this.eventAggregator.Subscribe(this);
    }

然后,这在IOC

public static IContainer GetContainer()
        {
            var container = new Container(x =>
            {
               ...
                x.For<IEventAggregator>().Use<EventAggregator>().Singleton();
         ...}}

2 个答案:

答案 0 :(得分:0)

你可以解释一下大局吗?你想创造什么? &#34;令人难以置信的彻底的傻瓜教程?&#34; - 为了什么?即 - &#34; C for Dummies&#34; ,&#34;绘画傻瓜&#34;?

答案 1 :(得分:0)

解决! ViewModel和View文件夹结构之间存在脱节。 Hadn没有意识到这对于确定绑定非常重要。

https://caliburnmicro.codeplex.com/wikipage?title=View/ViewModel%20Naming%20Conventions