我有一个简单的属性的getter返回无论是数据网格内的TabbedPanelWPF的DataGrid不挂钩事件
private DataView ActiveGrid
{
get
{
switch (TabPanel.SelectedIndex)
{
case 0: return (DataView)Grid1.ItemsSource;
case 1: return (DataView)Grid2.ItemsSource;
}
return null;
}
}
curretly选择,但初始化之前,当我尝试调用它像这样
private void TabPanel_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
updateIndex("{0} Items", ActiveGrid.Count);
}
它抛出一个InvokationTargetException
与一个内部NullReferenceException
。所以ItemsSource没有初始化?嗯..?因为在我MainWindow
构造我设置的ItemsSource像这样Grid1.ItemsSource = myDataTable();
我的XAML看起来像这样
<TabControl x:Name="TabPanel"
Margin="0,155,0,28"
SelectedIndex="0" SelectionChanged="TabPanel_SelectionChanged">
<TabItem x:Name="Grid1Tab" Header="Grid1" >
<DataGrid x:Name="Grid1"
AutoGenerateColumns="True"
Background="#FFE5E5E5"
ColumnWidth="*"/>
</TabItem>
<TabItem x:Name="Grid2Tab" Header="Grid2">
<DataGrid x:Name="Grid2"
AutoGenerateColumns="True"
Background="#FFE5E5E5"
ColumnWidth="*"/>
</TabItem>
</TabControl>
@HighCore - 哇,多么糟糕的评论。 – user1021726