Caliburn 微绑定视图内部 RadGridView.RowDetailsTemplate

CaliburnMicro Binding View inside RadGridView.RowDetailsTemplate

我有一个带有 GridViewToggleRowDetailsColumn 的 RadGridView,它可以展开所选项目并显示更多详细信息。我想使用 CaliburnMicro 来显示 DetailsView,所以我将 DetailsViewModel 的 属性 添加到我的 "MainViewModel" 中,并向其添加一个带有 Binding 的 ContentControl。

 <telerik:RadGridView ItemsSource="{Binding Products.View}"
             SelectedItem="{Binding SelectedProduct}"  ... > 

            <telerik:RadGridView.RowDetailsTemplate>
                <DataTemplate>
                    <ContentControl cal:View.Model="{Binding ProductDetailsViewModel}" />
                </DataTemplate>
            </telerik:RadGridView.RowDetailsTemplate>


            <telerik:RadGridView.Columns>
                <telerik:GridViewToggleRowDetailsColumn />

                ...Columndefinitions...

            <telerik:RadGridView.Columns>                   
        </telerik:RadGridView>

问题是没有显示详细信息。从 here 我读到绑定失败是因为 ItemsSource。所以我尝试了

<ContentControl cal:View.Model="{Binding ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}}" />

但还是不行。

如果 ProductDetailsViewModel 属性 与 RadGridView 绑定到的 Products 属性 在相同的 class 中定义,试试这个:

<ContentControl cal:View.Model="{Binding DataContext.ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=telerik:RadGridView}}" />