我有一个ViewModel
,有两个集合属性。我用一个集合来填充页面上的表单字段,其DataContext
设置为此ViewModel
。在此表单中,在使用该集合填充的字段中,我还有一个ComboBox
,我想用其他集合填充。
我使用网格来进行布局,并将此网格的DataContext
设置为第一个集合。当我在网格外面有一个ComboBox
时,我可以很容易地用第二个集合填充它。但是一旦我在网格中尝试这样做,我似乎无法完成它。
在代码段中,我将网格的DataContext
设置为ItemTypes
。从ItemTypes
开始,字段可以获取其值。 ComboBox
虽然需要从其他集合中获取其值:
<Grid DataContext="{Binding ItemTypes}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="Name:" />
<TextBox Grid.Column="2" Text="{Binding Name}" />
<TextBlock Grid.Row="1" Text="Description:" />
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Description}" />
<TextBlock Grid.Row="2" Text="Manufacturer:" />
<ComboBox Grid.Column="1" Grid.Row="2" />
<TextBlock Grid.Row="3" Text="Short Name:" />
<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding ShortName}" />
<TextBlock Grid.Row="5" Text="Weight:"/>
<TextBox Grid.Column="1" Grid.Row="5" Text="{Binding Weight}" />
</Grid>