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

Ben*_*Ben 1 c# wpf mvvm caliburn.micro

我在 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>
Run Code Online (Sandbox Code Playgroud)

问题是,PaymentDetails 是一个视图模型,虽然数据绑定到简单的 ContentControl 使用 caliburn micros 命名约定来查找视图,但在使用模板和 contentpresenter 时,视图模型绑定仅显示视图模型的字符串表示形式,而不是寻找风景。我不是这方面的专家,我也没能在谷歌上找到答案。

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

Ben*_*aul 6

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

例子:

<ContentControl cal:View.Model="{Binding PaymentDetails}" />
Run Code Online (Sandbox Code Playgroud)