【问题标题】:Does ViewModelViewHost work at design time for WPF? (ReactiveUI)ViewModelViewHost 是否在 WPF 的设计时工作? (反应式用户界面)
【发布时间】:2019-03-08 09:40:28
【问题描述】:

我无法让ViewModelViewHost 在设计时在 Visual Studio 中工作。这是设计使然还是我设置有误?

在我看来,我有:

  Locator.CurrentMutable.InitializeSplat();
  Locator.CurrentMutable.InitializeReactiveUI();
  Locator.CurrentMutable.Register(() => new SessionView(), typeof(IViewFor<SessionViewModel>));

在我认为的 XAML 中,我有:

<d:DesignProperties.DataContext>
    <local:MainWindowViewModel>
        <local:MainWindowViewModel.ChildViewModel>
            <local:SessionViewModel/>
        </local:MainWindowViewModel.ChildViewModel>
    </local:MainWindowViewModel>
</d:DesignProperties.DataContext>

<reactiveUi:ViewModelViewHost ViewModel="{Binding ChildViewModel}"/>

SessionView 是一个IViewFor&lt;SessionViewModel&gt;

ViewModelViewHost ctor 中有一条注释here 表明在设计模式下它将在尝试创建视图之前返回。但如果有一个单独的 InDesignMode 属性用于此目的,InUnitTestRunner 应该返回 true 似乎很奇怪。

  // NB: InUnitTestRunner also returns true in Design Mode
  if (ModeDetector.InUnitTestRunner()) {
     ViewContractObservable = Observable.Never<string>();
     return;
  }

【问题讨论】:

    标签: wpf reactiveui


    【解决方案1】:

    有点晚回复我们的歉意。

    答案是故意的。

    如果允许 ReactiveUI 的代码在构造函数中初始化,我们有一些东西会破坏 XAML 设计器。因此我们不运行这些值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-17
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      相关资源
      最近更新 更多