私はViewModel
2つのコレクションプロパティを持っています。DataContext
これに設定されているページのフォームフィールドに入力するために使用するコレクションの1つViewModel
。このフォームには、コレクションが入力されているフィールドの中に、他のComboBox
コレクションを入力したいものもあります。
グリッドを使用してレイアウトを行います。このグリッドDataContext
は最初のコレクションに設定されています。グリッドの外側にあるときはComboBox
、2番目のコレクションで簡単に埋めることができます。しかし、それがグリッドにあるときにそうしようとすると、それを成し遂げることができないようです。
コードスニペットでは、グリッドをに設定し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>