Caliburn 微绑定视图内部 RadGridView.RowDetailsTemplate
CaliburnMicro Binding View inside RadGridView.RowDetailsTemplate
我有一个带有 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}}" />
但还是不行。
如果 ProductDetailsViewModel
属性 与 RadGridView
绑定到的 Products
属性 在相同的 class 中定义,试试这个:
<ContentControl cal:View.Model="{Binding DataContext.ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=telerik:RadGridView}}" />
我有一个带有 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}}" />
但还是不行。
如果 ProductDetailsViewModel
属性 与 RadGridView
绑定到的 Products
属性 在相同的 class 中定义,试试这个:
<ContentControl cal:View.Model="{Binding DataContext.ProductDetailsViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=telerik:RadGridView}}" />