DataGridを含むWPFフォームがあります。このDataGridは編集可能です。 DataGridの1列には、ユーザーが選択するためのルックアップコードのリストを含むComboBoxが含まれています。Lookup値が追加された後にComboBox内のアイテムを更新します。
編集中に、ユーザーはモーダルウィンドウを呼び出して新しいルックアップコードを追加できます。コントロールがDataGridに返されると、コンボボックスには新しいルックアップコードがありません。
アイテムを追加した後、コンボボックスのリストを更新するにはどうすればよいですか?
ここに私のコンボボックスが定義されています。以下は、DataGridの列とそれから私の辞書スニペットです。
<DataGridTemplateColumn Header="Type" Width="160">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding AddrType.Description}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox Name="cboAddrtype"
ItemsSource="{Binding Source={StaticResource addrTypeList}}"
SelectedValuePath="ID"
DisplayMemberPath="Description"
SelectedValue="{Binding AddrTypeID, UpdateSourceTrigger=PropertyChanged}"
Width="100" />
<Button ToolTip="New" Name="btnNewAddressType" Click="btnNewAddressType_Click">
<Image Source="Images\Add.png" Style="{StaticResource buttonImageStyle}" />
</Button>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
方法GetAddressTypesは()のObservableCollectionを返します。
<ObjectDataProvider x:Key="addrTypeList" IsAsynchronous="True"
MethodName="GetAddressTypes"
ObjectType="{x:Type components:AddressComponent}"/>