J'ai un datagrid
avec une colonne modèle et un combobox
à l'intérieur. J'ai aussi une autre combobox
qui ne sont pas à l'intérieur du datagrid
:WPF ComboBox dans DataGrid n'affiche pas la valeur sélectionnée
<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True"
ItemsSource="{Binding Source={StaticResource asientoDetallesAsientosViewSource}}"
Name="detallesAsientosDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="Cuenta">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Grid.Column="1" Grid.Row="0"
Name="combo1"
ItemsSource="{Binding Source={StaticResource cuentaListaViewSource}}"
SelectedValuePath="Numero"
DisplayMemberPath="Nombre"
SelectedValue="{Binding ElementName=detallesAsientosDataGrid, Path=SelectedItem.Numero}">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Numero}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<ComboBox Name="combo2"
ItemsSource="{Binding Source={StaticResource cuentaListaViewSource}}"
SelectedValuePath="Numero"
DisplayMemberPath="Nombre"
SelectedValue="{Binding ElementName=detallesAsientosDataGrid,
Path=SelectedItem.Numero}"
VerticalAlignment="Center" Width="120">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
Maintenant, la chose étrange et le problème est que, dans ce cas, le combo1
intérieur du datagrid
, en mode d'édition, montre correctement la valeur de la ligne sélectionnée, mais si Je supprime le combo2
le combo1
cesse de fonctionner et ne montre plus la valeur de ligne sélectionnée mais la première valeur de la liste combobox
.
Pourquoi cela se produit-il? Le combo2
est exactement le même combobox
que le combo1
.