c# - TabControl WPF 中的延迟加载数据绑定(bind)列表

标签 c# wpf data-binding

我有一个包含三个选项卡的 TabControl,每个选项卡都包含一个绑定(bind)到数据列表的 DataGrid。 View 背后的模型设置有延迟加载的属性。

<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 延迟加载绑定(bind)?

谢谢!

最佳答案

我也遇到了这个问题,并最终向我绑定(bind)到 TabItems 的 IsSelected 属性的数据源添加了一个“Loaded”属性,并以这种方式延迟加载数据。考虑一下,也许使用 Datatemplates 也会奏效。

关于c# - TabControl WPF 中的延迟加载数据绑定(bind)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782773/

相关文章:

c# - 叠加两个或多个位图以在图片框中显示 (C#)

C# WPF 即使在最小化时也捕获 keydown

asp.net - 将 Eval 与 Sum() 和 Count() 与 ASP.Net EntityFramework 和 ListView 一起使用

java - android数据绑定(bind)错误: cannot find symbol

c# - 支持aspx页面中的OPTIONS请求头

javascript - 如何在mvc中自动重定向后删除特定历史记录

.net - 适用于 .NET 的视频聊天/ session SDK 有效吗?

c# - 使用绑定(bind)禁用特定的 DataGrid 单元格

c# - Google Speech Api 从返回 {"result":[]} in C# 的音频文件中获取文本

wpf - 如何让我的 WPF 用户控件的依赖属性更新我的 View 模型?