2
我有一个带有三个选项卡的TabControl,每个选项卡都包含绑定到数据列表的DataGrid。 视图后面的模型使用延迟加载的属性进行设置。TabControl中的延迟加载数据绑定列表WPF
<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延迟加载绑定?
谢谢!
感谢您的快速回复! 这确实可以解决问题,但不知何故,我觉得应该有一种方法来正确地做到这一点... –
是的,这真的不是一个干净的解决方案。另一个想法是在选项卡选择更改时应用代码隐藏的绑定。至少不需要修改模型,管道代码将保留在UI中。 – Botz3000