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