繁体   English   中英

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

[英]Lazy load data bound list inside TabControl WPF

我有一个带有三个选项卡的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”属性,并以这种方式延迟加载了数据。 考虑一下,也许使用Datatemplates也会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM