2
私は3つのタブを持つ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