我正在尝试启动并运行一个新的小型reactUI WPF应用程序。然而 ViewModelViewHost 给我带来了问题。它不会填补寡妇的空缺,但会保持最低限度的要求。 (根据其子项计算)
我的 MainWindow.xaml 中有这段 XAML:
<Grid Grid.Row="1" Name="WorkArea">
<reactiveUi:ViewModelViewHost ViewModel="{Binding .}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0" DataContext="{Binding DocVm}">
<reactiveUi:ViewModelViewHost.DefaultContent>
<Label Content="no file" FontStyle="Italic" FontSize="33" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</reactiveUi:ViewModelViewHost.DefaultContent>
</reactiveUi:ViewModelViewHost>
</Grid>
因此主窗口中有一个网格,中间部分应由 ViewModelViewHost
占据,因此应用水平和垂直对齐。我也厌倦了摆脱第二个网格,但没有什么区别。实际发生的情况(如 Snoop 中所示)是:ViewModelViewHost
符合 stretch 设置,但其模板部分 PART_CurrentContentPresentationSite
不符合。它停留在左 + 顶部。我该怎么办,这是怎么想的?
替换模板...
顺便说一句。为了在 View 模型上进行 View 绑定(bind),仅仅设置 ViewModel 属性似乎还不够。您还必须设置DataContext
。
最佳答案
您需要使用 HorizontalContentAlignment 和 VerticalContentAlignment 并将它们设置为拉伸(stretch)。
关于c# - 响应式(Reactive) UI + WPF : ViewModelViewHost does not stretch inside its parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55301555/