RadGridView被绑定到一个列表(例如,样本)。在RowDetailsTemplate中,我想显示另一个RadGridView,它将显示来自另一个列表的相关记录(例如,分析)。
主RadGridView被绑定在代码后面,如:
GrdSamples.ItemsSource=SamplesViewModel.GetAll();如何以同样的方式绑定RadGridView in RowDetailsTemplate (GrdAnalysis)?在哪个事件上,我将获得密钥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>发布于 2019-06-11 14:40:01
您可以处理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()方法返回的对象类型。
https://stackoverflow.com/questions/56537104
复制相似问题