Caliburn.Micro - 数据绑定内容呈现器到视图模型

本文关键字:视图 模型 Micro 数据绑定 Caliburn | 更新日期: 2023-09-27 17:55:58

我在 caliburn micro 中的数据绑定视图模型时遇到了一些问题,我有以下代码:

<ContentControl Content="{Binding PaymentDetails}">
                <ContentControl.Template>
                    <ControlTemplate TargetType="ContentControl">
                        <Grid>
                            <Controls:RoundedBox/>
                            <ContentPresenter Content="{Binding PaymentDetails}" Margin="10,0,10,0"/>
                        </Grid>
                    </ControlTemplate>
                </ContentControl.Template>
            </ContentControl>

问题是,PaymentDetails 是一个视图模型,虽然数据绑定到简单的 ContentControl 使用 caliburn micros 命名约定来查找视图,但在使用模板和内容演示器时,视图模型绑定仅显示视图模型的字符串表示形式,而不是查找视图。我不是这种事情的专家,我未能在谷歌上找到答案。

想要的是在使用模板时,让视图模型绑定像往常一样自动找到视图,但我想我在这里缺少一些理解。

Caliburn.Micro - 数据绑定内容呈现器到视图模型

而不是绑定到Content属性,而是改用cal:View.Model="{Binding ViewModelName}"

例:

<ContentControl cal:View.Model="{Binding PaymentDetails}" />