【发布时间】:2011-09-06 19:13:54
【问题描述】:
我有一个使用多个选项卡的 Silverlight 4 应用程序。在选项卡 1 上,我允许用户从网格中选择项目,右键单击并选择一个上下文菜单项,将项目发送到选项卡 2 上的不同网格。但是,如果用户尚未单击选项卡 2,则网格 I正在尝试添加的项目尚不存在。
确保第二个网格上的所有对象都被实例化的最优雅的方法是什么,即使用户还没有选择选项卡?
谢谢,
-斯科特
【问题讨论】:
标签: silverlight
我有一个使用多个选项卡的 Silverlight 4 应用程序。在选项卡 1 上,我允许用户从网格中选择项目,右键单击并选择一个上下文菜单项,将项目发送到选项卡 2 上的不同网格。但是,如果用户尚未单击选项卡 2,则网格 I正在尝试添加的项目尚不存在。
确保第二个网格上的所有对象都被实例化的最优雅的方法是什么,即使用户还没有选择选项卡?
谢谢,
-斯科特
【问题讨论】:
标签: silverlight
假设您正在将项目添加到某种数据网格,那么您的方法是将您的项目添加到 ObservableCollection,然后将网格数据绑定到集合。
这样您就不必担心网格是否实际可见,当它可见时它会自行更新。
【讨论】:
您可以使用 MVVM 模式,而不是尝试使用尚不存在的数据预填充 tab2 上的网格。
Tab1 可以是 viewModel1 的 view1。 Tab2 可以是 viewModel2 的 view2。当 view1 更新 viewModel1 时,ViewModel1 更新 ViewModel2,ViewModel2 又更新 view2。然后,您只需为可见性、isEnabled 和 ItemsSource 属性设置绑定即可。
【讨论】: