Silverlight 4 - Instantiate Objects Not Yet Visible
I have a Silverlight 4 application that uses multiple tabs. On Tab 1 I allow the user to select items from a grid, right click and select a context menu item that sends the items to a different gri开发者_开发技巧d on Tab 2. However, if the user has not clicked on Tab 2 yet, the grid I am trying to add items to does not exist yet.
What is the most elegant way to make sure that all objects on the second grid are instantiated even if the user has not selected the tab yet?
Thanks,
-Scott
Assuming you are adding items to data grid of some sort then the way to go is to add your items to an ObservableCollection
and then data bind the grid to the collection.
That way you don't have to worry about whether the grid is actually visible or not and it will update itself when it does become visible.
Instead of trying to prepopulate the grid on tab2 with data that does not yet exist, you could use the MVVM pattern.
Tab1 could be view1 of viewModel1. Tab2 could be view2 for viewModel2. When view1 updates viewModel1, ViewModel1 updates ViewModel2, which, in turn, updates view2. Then, you only need to set bindings for the visibility, isEnabled, and ItemsSource properties.
精彩评论