c# - 响应式(Reactive) UI + WPF : ViewModelViewHost does not stretch inside its parent

标签 c# wpf reactiveui

我正在尝试启动并运行一个新的小型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

最佳答案

您需要使用 Horizo​​ntalContentAlignment 和 VerticalContentAlignment 并将它们设置为拉伸(stretch)。

关于c# - 响应式(Reactive) UI + WPF : ViewModelViewHost does not stretch inside its parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55301555/

相关文章:

c# - Windows 窗体 - 从窗体内的面板检测按钮单击

c# - neo4j 任务已被取消

c# - Windows Phone 8.1 中的 BLE 广告包

c# - 更改背景颜色时返回空单元格

c# - ReactiveUI激活时不触发

unit-testing - ReactiveUI - 取消另一个命令 - 文档中代码的单元测试失败

c# - IReactiveBinding 不适用于 IDataErrorInfo

c# - Windows Phone 8 中的自动扩展列表 - xaml

c# - WPF 组合框 "leaks"内存

c# - 滚动时弹出窗口不关闭