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 绑定视图的主要内容,如果未能解决你的问题,请参考以下文章