RadGridView.RowDetailsTemplate 内的 CaliburnMicro 绑定视图

Posted

技术标签:

【中文标题】RadGridView.RowDetailsTemplate 内的 CaliburnMicro 绑定视图【英文标题】:CaliburnMicro Binding View inside RadGridView.RowDetailsTemplate 【发布时间】:2017-12-27 10:25:18 【问题描述】:

我有一个带有 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" />

但它仍然不起作用。

【问题讨论】:

【参考方案1】:

如果ProductDetailsViewModel 属性与RadGridView 绑定到的Products 属性定义在同一类中,请尝试以下操作:

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

【讨论】:

以上是关于RadGridView.RowDetailsTemplate 内的 CaliburnMicro 绑定视图的主要内容,如果未能解决你的问题,请参考以下文章