C# TabControl WPF中的延迟加载数据绑定列表

C# TabControl WPF中的延迟加载数据绑定列表,c#,wpf,data-binding,C#,Wpf,Data Binding,我有一个TabControl,它有三个选项卡,每个选项卡都包含绑定到数据列表的DataGrid。 视图后面的模型是使用延迟加载属性设置的 <TabControl> <TabItem> <DataGrid ItemsSource="{Binding FirstList}" > <DataGrid.Columns> <DataGridTextColumn Header

我有一个TabControl,它有三个选项卡,每个选项卡都包含绑定到数据列表的DataGrid。 视图后面的模型是使用延迟加载属性设置的

<TabControl>
    <TabItem>
        <DataGrid ItemsSource="{Binding FirstList}" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Column1" Binding="{Binding Property1}" />
                <DataGridTextColumn Header="Column2" Binding="{Binding Property2}" />
            </DataGrid.Columns>
        </DataGrid>
    </TabItem>
    <TabItem>
        <DataGrid ItemsSource="{Binding SecondList}" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Column1" Binding="{Binding Property1}" />
                <DataGridTextColumn Header="Column2" Binding="{Binding Property2}" />
            </DataGrid.Columns>
        </DataGrid>
    </TabItem>
    <TabItem>
        <DataGrid ItemsSource="{Binding ThirdList}" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Column1" Binding="{Binding Property1}" />
                <DataGridTextColumn Header="Column2" Binding="{Binding Property2}" />
            </DataGrid.Columns>
        </DataGrid>
    </TabItem>
</TabControl>
我的意图是,只有在单击相关选项卡时,才能加载每个列表。但是,我最初加载所有列表

有没有办法延迟加载每个TabItem的绑定


谢谢

我也遇到了这个问题,最后向绑定到TabItems的IsSelected属性的数据源添加了一个Loaded属性,这样就懒散地加载了数据。想想看,也许使用数据模板也能奏效

我也遇到了这个问题,最后向绑定到TabItems的IsSelected属性的数据源添加了一个Loaded属性,这样就懒散地加载了数据。想想看,也许使用数据模板也能奏效

谢谢你的快速回复!这确实可以解决问题,但不知何故,我觉得应该有一种方法来正确地做到这一点……是的,这确实不是一个干净的解决方案。另一个想法是在选项卡选择更改时应用代码隐藏的绑定。至少这不需要修改模型,管道代码将保留在UI中。感谢您的快速回复!这确实可以解决问题,但不知何故,我觉得应该有一种方法来正确地做到这一点……是的,这确实不是一个干净的解决方案。另一个想法是在选项卡选择更改时应用代码隐藏的绑定。至少这不需要修改模型,管道代码将保留在UI中。