场景:我在View中有一个ContentControl,其Content属性与ViewModel中的DataGrid绑定。我将在运行时找到在DataGrid中显示的列的确切数量,这就是为什么我在ViewModel中编程创建DataGrid的原因。我的DataGrid的ItemsSource是一个DataTable。我将DataGrid的'AutoGeneratingColumns'设置为False,我手动创建列。我的DataGrid以及其他许多列都有两个ComboBox类型的列。我必须根据第一个ComboBox的选定索引来更改第二个ComboBox的ItemsSource。所以我的DataGrid的每一行都可以为第二个ComboBox使用不同的ItemsSource。如何更改DataGrid中ComboBox的ItemsSource?
我的问题是如何动态更改第二个ComboBox的ItemsSource基于选定的索引在运行时的第一个ComboBox中的一行DataGrid?我还想知道在这种情况下是否有比我目前的方法更好的解决方案?
假设您的视图模型中有多个集合可用作第二个组合框的Item Source,那么这些常见类型的集合呢?如果是,那么你可以创建一个像SelectedCollection这样的属性,并根据第一个组合框的选定项来设置它的值。并将您的第二个组合框项目源绑定到此SelectedCollection属性。 – RockWorld 2011-03-01 11:26:52