我无法ViewModelViewHost
在Visual Studio的设计时间工作.这是设计还是我设置错了?
在我看来,我有:
Locator.CurrentMutable.InitializeSplat();
Locator.CurrentMutable.InitializeReactiveUI();
Locator.CurrentMutable.Register(() => new SessionView(), typeof(IViewFor<SessionViewModel>));
Run Code Online (Sandbox Code Playgroud)
在我看来的XAML我有:
<d:DesignProperties.DataContext>
<local:MainWindowViewModel>
<local:MainWindowViewModel.ChildViewModel>
<local:SessionViewModel/>
</local:MainWindowViewModel.ChildViewModel>
</local:MainWindowViewModel>
</d:DesignProperties.DataContext>
<reactiveUi:ViewModelViewHost ViewModel="{Binding ChildViewModel}"/>
Run Code Online (Sandbox Code Playgroud)
SessionView
是一个IViewFor<SessionViewModel>
.
有评论这里在ViewModelViewHost
表明在设计模式,它会试图创建一个视图之前返回构造函数.但是,InUnitTestRunner
如果InDesignMode
为此目的存在单独的属性,则应该返回true 似乎很奇怪.
// NB: InUnitTestRunner also returns true in Design Mode
if (ModeDetector.InUnitTestRunner()) {
ViewContractObservable = Observable.Never<string>();
return;
}
Run Code Online (Sandbox Code Playgroud)
回复有点晚了,我们深表歉意。
答案是这是故意的。
如果允许 ReactiveUI 的代码在构造函数中初始化,我们的一些东西将会破坏 XAML 设计器。这就是为什么我们不运行这些值。
归档时间: |
|
查看次数: |
349 次 |
最近记录: |