我有一个带有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}}" />
但它仍然无效。
答案 0 :(得分:1)
如果ProductDetailsViewModel
属性与Products
绑定的RadGridView
属性在同一个类中定义,请尝试以下操作:
<ContentControl cal:View.Model="{Binding DataContext.ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=telerik:RadGridView}}" />