RadGridView绑定到列表(例如样本)。在RowDetailsTemplate中,我想显示另一个RadGridView,它将显示另一个列表中的相关记录(例如Analysis)。
主RadGridView在代码后面绑定为:
GrdSamples.ItemsSource=SamplesViewModel.GetAll();
如何以相同的方式在RowDetailsTemplate(GrdAnalysis)中绑定RadGridView?以及在哪个事件上我将获得密钥ID,以便可以使用类似的东西:
var SampleID = ?
GrdAnalysis.ItemsSource=AnalysisViewModel.Get(SampleID);
这是XAML,
<telerik:RadGridView x:Name="GrdSamples" AutoGenerateColumns="False">
<telerik:RadGridView.Columns>...</telerik:RadGridView.Columns>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadGridView x:Name="GrdAnalysis"
AutoGenerateColumns="False">
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
答案 0 :(得分:0)
您可以处理Loaded
事件:
private void OnLoaded(object sender, RoutedEventArgs e)
{
RadGridView inner = (RadGridView)sender;
var sample = inner.DataContext as Sample;
if (sample != null)
{
var SampleID = sample.Id;
inner.ItemsSource = AnalysisViewModel.Get(SampleID);
}
}
XAML:
<DataTemplate>
<telerik:RadGridView x:Name="GrdAnalysis" Loaded="OnLoaded" AutoGenerateColumns="False">
</DataTemplate>
Sample
是上述示例代码中SamplesViewModel.GetAll()
方法返回的对象的类型。