>我有一个带有GridViewToggleRowDetailsColumn的RadGridView,它可以展开选定的项目并显示更多详细信息。我想使用 CaliburnMicro 来显示 DetailsView,因此我将 DetailsViewModel 的一个属性添加到我的"MainViewModel"中,并添加一个带有绑定的 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}}" />
但它仍然不起作用。
如果ProductDetailsViewModel
属性与RadGridView
绑定到的Products
属性在同一类中定义,请尝试以下操作:
<ContentControl cal:View.Model="{Binding DataContext.ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=telerik:RadGridView}}" />