0

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

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

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

但它仍然不起作用。

4

1 回答 1

1

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

<ContentControl cal:View.Model="{Binding DataContext.ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=telerik:RadGridView}}" />
于 2017-07-21T11:38:55.860 回答