/ / ListBox SelectionChanged SelectedItem não atualizando em algumas máquinas - c #, wpf, listbox, selectionchanged

ListBox SelectionChanged SelectedItem não atualizando em algumas máquinas - c #, wpf, listbox, selectionchanged

Eu escrevi um pequeno aplicativo WPF para editar umarquivo de configuração A GUI consiste principalmente em dois ListBoxes. O conteúdo do segundo ListBox depende do item selecionado do primeiro ListBox e deve ser atualizado sempre que outro item no primeiro ListBox for selecionado. Percebi isso usando o evento SelectionChanged do primeiro ListBox para definir o ItemsSource do segundo. Criei e testei em minhas máquinas. Funcionou (e ainda está funcionando) bem. Em seguida, enviei o pedido ao meu colega para que ele pudesse tentar. Em sua máquina, o segundo ListBox não estava sendo atualizado (quando ele selecionou um item do primeiro ListBox, o segundo foi alterado conforme o esperado, mas não se ele selecionou outro item).

Eu reduzi o problema e descobri que o evento foi gerado conforme o esperado, mas o SelectedItem propriedade não estava mudando.

Consegui resolver o problema usando o método AddedItems propriedade do SelectionChangedEventArgs, que está sendo atualizado corretamente.

Alguém sabe por que isso acontece? Além disso, o item selecionado é destacado corretamente. O WPF usa outra propriedade para determinar qual item destacar? E se sim, como eles podem ficar fora de sincronia?

Caso alguém pergunte aqui, estão os fragmentos de código relevantes

O ListBox:

<ListBox Name="lb_Users" SelectionChanged="lb_Users_SelectionChanged">
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove" Click="UserRemove_Click"/>
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>

E o manipulador atualizado:

private void lb_Users_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if((e.AddedItems[0] as User)!= null)
lb_VMs.ItemsSource = (e.AddedItems[0] as User).GetVMs();
}

Respostas:

1 para resposta № 1

Como visto nos comentários, o problema é uma incompatibilidade de versão. Espero que isso ajude quem está tendo esse tipo de problema, pois parece que não há documentação sobre isso.